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中文網其他相關文章!