首页 > 后端开发 > 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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板