c# - Unix 日期时间差异

标签 c# datetime unix-timestamp

下面的函数应该将以下 UNIX 时间转换为 C# DateTime 对象:

1362506086000

上面的时间应该代表2012 年 3 月 5 日下午 12:54

但是,每次我通过下面的函数运行它时,它都会更改为5:54 PM:

2013年3月5日下午5:54:46

    static readonly DateTime UnixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
    static readonly double MaxUnixSeconds = (DateTime.MaxValue - UnixEpoch).TotalSeconds;

    public static DateTime UnixTimeStampToDateTime(double unixTimeStamp)
    {
        return unixTimeStamp > MaxUnixSeconds
           ? UnixEpoch.AddMilliseconds(unixTimeStamp)
           : UnixEpoch.AddSeconds(unixTimeStamp);
    }

如何才能将 Unix 时间正确表示为 12:54 而不是 5:54

最佳答案

这听起来像是时区问题。确保用于生成 Unix 时间的时区与 Windows 系统上的时区相同,或进行相应转换。

关于c# - Unix 日期时间差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15231582/

相关文章:

android - 从 int 转换回 DateTime 时遇到问题

c# - DateTime.Now.Ticks 是如何工作的?

oracle - 将时间戳数据类型转换为 unix 时间戳 Oracle

c# - 在 ASP.NET 中使用类似 FileUpload 的按钮

python - datetime.datetime - 日期字段超出范围

c# - 更新从 pageManager.LoadControl() 中提取的 ContentBlock。站点有限 5

postgresql - postgreSQL 上的时间戳到 unix 时间戳

php - MySQL 日期间隔不起作用

c# - 在 Graphsharp 中向边缘添加自定义样式

c# - 同步从 API 获取数据