首页 >后端开发 >C++ >如何将UNIX Epoch时间转换为C#中的实时DateTime对象?

如何将UNIX Epoch时间转换为C#中的实时DateTime对象?

Patricia Arquette
Patricia Arquette原创
2025-01-26 08:21:13826浏览

How Do I Convert Unix Epoch Time to a Real-Time DateTime Object in C#?

在 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn