自纪元以来我有以下时间戳:
Timestamp
1346114717972
1354087827000
如何将这些时间戳转换为某种特定的输出格式,例如mm/dd/yyyy hr:min:sec
?
我尝试将它们转换为datetime.datetime
但它失败了:
>>> datetime.datetime.fromtimestamp(1346114717972)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: timestamp out of range for platform time_t
我怎样才能做到这一点?
我会用time
module
>>> import time
>>> time.gmtime(1346114717972/1000.)
time.struct_time(tm_year=2012, tm_mon=8, tm_mday=28, tm_hour=0, tm_min=45, tm_sec=17, tm_wday=1, tm_yday=241, tm_isdst=0)
这显示 UTC/GMT 时间的时间戳。
时间戳除以 1000,因为您提供的时间戳位于毫秒从纪元开始,而不是秒。
然后使用strftime
像这样格式化:
>>> time.strftime('%m/%d/%Y %H:%M:%S', time.gmtime(1346114717972/1000.))
'08/28/2012 00:45:17'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)