首页 > 后端开发 > C++ > 如何在Unix时间戳和.NET DateTime对象之间进行转换?

如何在Unix时间戳和.NET DateTime对象之间进行转换?

Susan Sarandon
发布: 2025-02-01 23:56:10
原创
977 人浏览过

How to Convert Between Unix Timestamps and .NET DateTime Objects?

轻松转换Unix时间戳和.NET DateTime对象

Unix时间戳是计算领域中一种常见的日期时间表示方法,本文将介绍如何在C#中轻松地将Unix时间戳转换为.NET DateTime对象,以及反向转换的方法。

从Unix时间戳到DateTime

将Unix时间戳(自Unix纪元,即1970年1月1日0时0分0秒UTC开始的秒数)转换为C#中的DateTime对象非常简单:

<code class="language-csharp">public static DateTime UnixTimeStampToDateTime(double unixTimeStamp)
{
    // Unix时间戳表示自纪元以来的秒数
    DateTime dateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
    dateTime = dateTime.AddSeconds(unixTimeStamp).ToLocalTime();
    return dateTime;
}</code>
登录后复制

从DateTime到Unix时间戳

相反地,将DateTime对象转换回Unix时间戳同样简单:

<code class="language-csharp">public static double DateTimeToUnixTimeStamp(DateTime dateTime)
{
    // 转换为UTC时间以避免夏令时问题
    dateTime = dateTime.ToUniversalTime();
    // 计算自Unix纪元以来的秒数
    double unixTimeStamp = (dateTime - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds;
    return unixTimeStamp;
}</code>
登录后复制

Java注意事项

Java使用毫秒表示Unix时间戳,而.NET使用秒。请根据需要调整Java代码中的转换函数。

以上是如何在Unix时间戳和.NET DateTime对象之间进行转换?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板