日期时间 strftime 函数不能输出正确的时间戳。

3

The following:

>>> from dateutil.parser import parse
>>> parse("2013-07-02 00:00:00 -0000")
datetime.datetime(2013, 7, 2, 0, 0, tzinfo=tzutc())

这说明时间应该是2013年7月2日UTC时间的上午12点。

然而:

>>> parse("2013-07-02 00:00:00 -0000").strftime("%s")
'1372744800'

1372744800实际上是错误的,应该是Tue, 02 Jul 2013 06:00:00 UTC。非常令人困惑。


你正在从哪里导入 parse - David Robinson
无法复现;我得到的是1372741200(早一个小时)。相信这是一个时区问题。 - David Robinson
这仍然是错误的,只是在不同的时区。更奇怪的是:parse("2013-07-02 00:00:00 -0000").strftime("%s %z")将给出"1372744800 +0000",这意味着strftime认为它在UTC时区。 - Josh Nankin
Python bug 追踪相关问题:datetime.strftime('%s')应该尊重 tzinfo - jfs
1个回答

3

1
谢谢,那个起作用了。人们说Python是一种比PHP(我所熟悉的语言)更优秀的语言,但在PHP中使用DateTime,这不会那么困难或令人困惑。 - Josh Nankin
你应该查看 pytzdelorean。它们使得处理日期时间变得更加容易。此外,在Reddit上查看这个帖子! - kissgyorgy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接