下面的函数应该将以下 unix 时间转换为 C# DateTime 对象:
1362506086000
上面的时间应该代表March 5, 2012 12:54 PM。
但是,每次我通过下面的函数运行它时,它都会变为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?