Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk menukar antara cap waktu UNIX dan objek DateTime dalam .NET dan Java?

Bagaimana untuk menukar antara cap waktu UNIX dan objek DateTime dalam .NET dan Java?

Linda Hamilton
Lepaskan: 2025-02-01 23:41:10
asal
486 orang telah melayarinya

How to Convert Between Unix Timestamps and DateTime Objects in .NET and Java?

<.> 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>
Salin selepas log masuk

Tukar DateTime ke Unix Timestamp

<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>
Salin selepas log masuk

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>
Salin selepas log masuk
. Contoh .NET tetap tidak berubah kerana serpihan kod itu sendiri telah menggunakan kelas DateTime dari .NET.
<code class="language-java">// Java代码示例
public static long DateTimeToJavaTimeStamp(java.time.LocalDateTime dateTime) {
    return dateTime.atZone(java.time.ZoneId.systemDefault()).toInstant().toEpochMilli();
}</code>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan