<.> Dalam .NET dan Java untuk menukar cap waktu UNIX dan objek DateTime
Dalam .NET atau Java, sering diperlukan untuk menukar antara timestamp Unix (bilangan saat atau milisaat sejak era) dan objek DateTime.
Tukar timestamp unix ke datetime
dalam .net, gunakan kod berikut untuk menukar timestamp UNIX (dalam saat) ke tarikh:
di Java, cap waktu dalam milisaat, dan kod ini digunakan:
<code class="language-C#">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">// Java代码示例,此处应使用Java的日期时间类,而非.NET的DateTime public static java.time.LocalDateTime JavaTimeStampToDateTime(long javaTimeStamp) { return java.time.Instant.ofEpochMilli(javaTimeStamp).atZone(java.time.ZoneId.systemDefault()).toLocalDateTime(); }</code>
untuk menukar datetime ke dalam cap waktu unix, hanya membalikkan proses:
Sila ambil perhatian bahawa contoh Java menggunakan kelas dalam pakej
yang disediakan oleh versi Java 8 dan ke atas, yang menyediakan kaedah pemprosesan tarikh dan masa yang lebih moden dan kukuh daripada yang lama<code class="language-C#">public double DateTimeToUnixTimeStamp(DateTime dateTime) { DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); TimeSpan span = dateTime.ToUniversalTime() - epoch; return span.TotalSeconds; }</code>
<code class="language-java">// Java代码示例 public static long DateTimeToJavaTimeStamp(java.time.LocalDateTime dateTime) { return dateTime.atZone(java.time.ZoneId.systemDefault()).toInstant().toEpochMilli(); }</code>
Atas ialah kandungan terperinci Bagaimana untuk menukar antara cap waktu UNIX dan objek DateTime dalam .NET dan Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!