2

以下代码'2012-06-07 00:00'同时返回时间戳13391199000001339120800000

>>> 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 机器上注意到了同样的情况。为什么会这样,如何从时间戳中获得小时和分钟分辨率?

4

2 回答 2

7

您正在创建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'
于 2013-06-08T01:55:37.620 回答
1

date没有小时或分钟使用datetime.datetime

>>>> datetime.fromtimestamp(1339119900000/1e3).strftime('%Y-%m-%d %H:%M')
'2012-06-08 03:45'
于 2013-06-08T01:56:07.810 回答