首頁 > 後端開發 > C++ > 如何在C#中將時代轉換為實時時間?

如何在C#中將時代轉換為實時時間?

Susan Sarandon
發布: 2025-01-26 08:01:14
原創
757 人瀏覽過

How to Convert Epoch Time to Real Time in C#?

C# 紀元時間到實時轉換方法

本指南演示瞭如何將 Unix 紀元時間(自 1970 年 1 月 1 日起的秒數,UTC)轉換為 C# 中可讀的日期和時間。 有幾種方法可以滿足不同的 .NET 版本。

現代 .NET(核心 >= 2.1 及更高版本):

最簡單的方法利用內置函數:

<code class="language-csharp">DateTime realTime = DateTime.UnixEpoch.AddSeconds(epochSeconds); // For seconds
DateTime realTimeMillis = DateTime.UnixEpoch.AddMilliseconds(epochMilliseconds); // For milliseconds</code>
登入後複製

使用 DateTimeOffset(自 2020 年起推薦):

DateTimeOffset 提供改進的時區處理:

<code class="language-csharp">DateTimeOffset realTimeOffset = DateTimeOffset.FromUnixTimeSeconds(epochSeconds); // For seconds
DateTimeOffset realTimeOffsetMillis = DateTimeOffset.FromUnixTimeMilliseconds(epochMilliseconds); // For milliseconds

DateTime realTime = realTimeOffset.DateTime; // Extract DateTime if needed</code>
登入後複製

對於較舊的 .NET 版本(2020 年之前):

對於缺乏上述方法的舊版.NET框架,需要自定義函數:

<code class="language-csharp">private static readonly DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);

public static DateTime FromUnixTime(long unixTime)
{
    return epoch.AddSeconds(unixTime);
}</code>
登入後複製

此函數將給定的 unixTime (以秒為單位)添加到 Unix 紀元,從而產生代表實時的 DateTime 對象。 請記住處理潛在的異常(例如,ArgumentOutOfRangeException)。

選擇最適合您的 .NET 版本的方法。 DateTimeOffset 通常因其增強的精度和時區意識而受到青睞。

以上是如何在C#中將時代轉換為實時時間?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板