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
Linda Hamiltonasal
2025-02-01 23:41:10539semak imbas

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>

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>

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>
. 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>

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!

Kenyataan:
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