【发布时间】:2012-07-29 09:23:25
【问题描述】:
我有一个 UTC 时间,我想要从纪元开始的秒数。
我正在使用 strftime 将其转换为秒数。以 2012 年 4 月 1 日为例。
>>>datetime.datetime(2012,04,01,0,0).strftime('%s')
'1333234800'
2012 年 4 月 1 日 UTC 从纪元开始是 1333238400,但以上返回 1333234800,相差 1 小时。
所以看起来 strftime 正在考虑我的系统时间并在某处应用时区转换。我认为 datetime 纯粹是幼稚的吗?
我怎样才能解决这个问题?如果可能避免导入其他库,除非是标准的。 (我有便携性问题)。
【问题讨论】:
-
我是唯一一个注意到您在数字中使用八进制文字的人吗?
-
较新的 Python 3.3+ 有
datetime.datetime.timestamp(datetime.datetime.utcnow())
标签: python datetime utc epoch strftime