以下代码针对时间戳'2012-06-07 00:00'
和1339119900000
返回1339120800000
:
>>> from datetime import date
>>> date.fromtimestamp(1339119900000/1e3).strftime('%Y-%m-%d %H:%M')
'2012-06-07 00:00'
>>> date.fromtimestamp(1339120800000/1e3).strftime('%Y-%m-%d %H:%M')
'2012-06-07 00:00'
然而,这些时间戳相隔15分钟,而且它们都不是午夜。
我在Windows 7机器上运行32位Python 2.7.3,但在Red Hat机器上注意到了相同的情况。为什么这样,我如何从时间戳中得到小时和分钟?
答案 0 :(得分:6)
您正在创建 date
对象,而不是datetime
。日期会忽略所有时间信息。
如果要保留时间组件,请使用datetime
个对象:
>>> from datetime import datetime
>>> datetime.fromtimestamp(1339119900000/1e3).strftime('%Y-%m-%d %H:%M')
'2012-06-08 02:45'
>>> datetime.fromtimestamp(1339120800000/1e3).strftime('%Y-%m-%d %H:%M')
'2012-06-08 03:00'
答案 1 :(得分:1)
date
没有时间或分钟使用datetime.datetime
>>>> datetime.fromtimestamp(1339119900000/1e3).strftime('%Y-%m-%d %H:%M')
'2012-06-08 03:45'