首頁 >後端開發 >C++ >如何在Unix時間戳和.NET DateTime對象之間進行轉換?

如何在Unix時間戳和.NET DateTime對象之間進行轉換?

Susan Sarandon
Susan Sarandon原創
2025-02-01 23:56:101029瀏覽

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

輕鬆轉換Unix時間戳和.NET DateTime對象

Unix時間戳是計算領域中一種常見的日期時間表示方法,本文將介紹如何在C#中輕鬆地將Unix時間戳轉換為.NET DateTime對象,以及反向轉換的方法。

從Unix時間戳到DateTime

將Unix時間戳(自Unix紀元,即1970年1月1日0時0分0秒UTC開始的秒數)轉換為C#中的DateTime對象非常簡單:

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

從DateTime到Unix時間戳

相反地,將DateTime對象轉換回Unix時間戳同樣簡單:

<code class="language-csharp">public static double DateTimeToUnixTimeStamp(DateTime dateTime)
{
    // 转换为UTC时间以避免夏令时问题
    dateTime = dateTime.ToUniversalTime();
    // 计算自Unix纪元以来的秒数
    double unixTimeStamp = (dateTime - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds;
    return unixTimeStamp;
}</code>

Java注意事項

Java使用毫秒錶示Unix時間戳,而.NET使用秒。請根據需要調整Java代碼中的轉換函數。

以上是如何在Unix時間戳和.NET DateTime對象之間進行轉換?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn