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