Answers:
datetime.datetime.fromtimestamp()
是正确的,除了您的时间戳可能以毫秒为单位(例如在JavaScript中),但fromtimestamp()
希望Unix时间戳以秒为单位。
那样做:
>>> import datetime
>>> your_timestamp = 1331856000000
>>> date = datetime.datetime.fromtimestamp(your_timestamp / 1e3)
结果是:
>>> date
datetime.datetime(2012, 3, 16, 1, 0)
它能回答您的问题吗?
编辑:JF塞巴斯蒂安正确建议使用真司的1e3
(浮动1000
)。如果您想获得精确的结果,则差异非常明显,因此我更改了答案。所不同的结果在Python 2.x中的默认行为,它总是返回int
分(当使用/
运营商)int
的int
(这就是所谓的地板事业部)。通过更换除数1000
(作为一个int
与所述)1e3
除数(即的表示1000
为float)或用float(1000)
(或1000.
等),分割变得真正分裂。的Python 2.x的收益float
除以时int
通过float
,float
通过int
,float
由float
等而当在传递到时间戳一些小数部分fromtimestamp()
的方法,该方法的结果也包含有关该小数部分的信息(如微秒的数量)。
x * 0.001
并且x / 1e3
都是相同的,所不同的是在符号和长度(原来的一个是短)。对于某些人来说,实际上将其除以数字而不是乘以您提出的可乘逆数(1/x
)可能更清楚。但是,感谢您提出替代方法。
fromtimestamp
给您以本地时间显示utcfromtimestamp
的日期和时间给您以UTC显示的日期和时间。
/ 1e3