datetime.date.fromtimestamp:忽略小时和分钟

时间:2013-06-08 01:53:44

标签: python datetime

以下代码针对时间戳'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机器上注意到了相同的情况。为什么这样,我如何从时间戳中得到小时和分钟?

2 个答案:

答案 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'