0

我正在使用 Python 2.6.6 和 PyQt4。我有一个开始 QDateTime 对象,我迭代地添加 60 秒来创建给定时间跨度内每分钟的列表。我发现在某些情况下,将两个不同的值添加到 QDateTime 对象会产生相同的时间。

这是问题的一个例子:

from PyQt4 import QtCore

start = QtCore.QDateTime.fromString("2010-11-01 00:00", "yyyy-MM-dd hh:mm")

print start.addSecs(522540).toString("yyyy-MM-dd hh:mm")
print start.addSecs(526140).toString("yyyy-MM-dd hh:mm")

结果输出:

2010-11-07 01:09
2010-11-07 01:09

我一直在敲击键盘试图弄清楚这一点。我做错了什么?

4

1 回答 1

3

这可能取决于您的语言环境设置:

似乎美国和其他国家的夏令时结束于2010-11-07......

所以我敢打赌这是一个结果。

如果您在使用日期进行计算时得到任何奇怪的值,请始终检查是否没有 DST 更改或闰年,并考虑不同的语言环境。可悲的是,时间并不总是像看起来那样线性。

于 2012-05-03T18:54:27.593 回答