Rumah >pembangunan bahagian belakang >C++ >Bagaimana cara menukar antara cap waktu UNIX dan objek DateTime?
Banyak senario aplikasi perlu ditukarkan antara timestamp UNIX dan objek DateTime. UNIX Timestamp mewakili bilangan detik sejak era UNIX (1 Januari 1970 00:00:00 UTC), dan objek DateTime mewakili masa dengan cara yang lebih intuitif, termasuk komponen tarikh dan masa tertentu.
ditukar dari timestamp unix ke objek DateTime
Tukar timestamp UNIX ke objek DateTime, anda boleh menggunakan kaedah berikut:
untuk pemaju Java, kerana cap waktu adalah dalam milisaat, kaedah penukaran berbeza:
<code class="language-csharp">public static DateTime UnixTimeStampToDateTime(double unixTimeStamp) { // Unix 时间戳是自纪元以来的秒数 DateTime dateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); dateTime = dateTime.AddSeconds(unixTimeStamp).ToLocalTime(); return dateTime; }</code>
<code class="language-java">public static DateTime JavaTimeStampToDateTime(long javaTimeStamp) { // Java 时间戳是自纪元以来的毫秒数 DateTime dateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); dateTime = dateTime.plusMillis((long) javaTimeStamp).toLocalTime(); return dateTime; }</code>
Penukaran songsang boleh menggunakan serpihan kod berikut:
Untuk Java, kaedah menukar objek DateTime ke dalam timestamp Java (milisaat) adalah seperti berikut:
<code class="language-csharp">public double DateTimeToUnixTimeStamp(DateTime dateTime) { // Unix 时间戳是自纪元以来的秒数 DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); TimeSpan span = (dateTime - epoch).ToLocalTime(); return span.TotalSeconds; }</code>Kaedah ini menyediakan kaedah penukaran antara kecekapan tinggi dan objek UNIX yang boleh dipercayai dan objek DateTime untuk memenuhi keperluan yang berbeza dalam pelbagai senario aplikasi dalam pelbagai senario aplikasi.
Atas ialah kandungan terperinci Bagaimana cara menukar antara cap waktu UNIX dan objek DateTime?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!