在 C# 中轻松将 Unix 纪元时间转换为 DateTime
Unix 纪元时间表示自 1970 年 1 月 1 日 00:00:00 UTC 以来经过的秒数。 本指南演示如何有效地将其转换为 C# DateTime 对象。
现代 .NET (>= 2.1):最简单的方法
.NET Core 2.1 及更高版本提供简化的方法:
DateTime.UnixEpoch.AddSeconds(epochSeconds)
DateTime.UnixEpoch.AddMilliseconds(epochMilliseconds)
这些直接将纪元偏移量(以秒或毫秒为单位)添加到基本 Unix 纪元时间。
旧版 .NET 版本:
对于 .NET Core 2.1 之前的版本,请使用这个简洁的函数:
<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>
从 DateTimeOffset 检索 DateTime:
要从 DateTime
中提取 DateTimeOffset
对象,只需使用:
<code class="language-csharp">DateTime dateTime = dateTimeOffset.DateTime;</code>
重要更新说明:
此解决方案已更新,以实现不同 .NET 版本之间的兼容性。 为了在较新的 .NET 版本中获得最佳性能,请利用 DateTime.UnixEpoch
方法。
以上是如何将UNIX Epoch时间转换为C#中的实时DateTime对象?的详细内容。更多信息请关注PHP中文网其他相关文章!