我有一个从Unix纪元时间转换为.NET DateTime值的函数:我如何从UNIX时代转换时间并在C#中考虑夏令时?
public static DateTime FromUnixEpochTime(double unixTime)
{
DateTime d = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
return d.AddSeconds(unixTime);
}
我在哪里(UK)的时钟走1小时着夏天的时间。
在Python中,我使用time.time()
(为了争辩,现在时间是17:15:00)得到当地的大纪元时间,这给我的值为1286122500
。
如果我使用time.localtime()
转换这回人类可读的时候将其转换回17:15,因为我期望的那样。
如何转换Unix纪元时间回.NET DateTime
价值,占本地夏令时。我上面的功能将1286122500
转换回16:15,这对我的地理位置不正确。
+1,这里不需要更复杂。 – 2010-10-03 17:10:02
啊哈...我在DateTime构造函数中试过'DateTimeKind.Local',不敢相信我错过了'.ToLocalTime()'方法。 – Kev 2010-10-03 17:23:45
古老但很好。谢谢。 – kmarks2 2012-03-16 12:29:47