PQt4 QDatetime:为什么在使用带有两个不同秒值的addSecs()时会得到相同的答案?

时间:2012-05-03 17:59:02

标签: python pyqt4 qdatetime

我使用的是Python 2.6.6和PyQt4。我有一个启动QDateTime对象,我迭代地添加60秒来创建给定时间跨度内每分钟的列表。我发现在几种情况下,向QDateTime对象添加两个不同的 seconds 值会产生相同的时间。

以下是问题的一个示例:

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

我一直在敲击键盘试图解决这个问题。我做错了什么?

1 个答案:

答案 0 :(得分:3)

可能取决于您的区域设置:

似乎DST in the United States and other countries结束于2010-11-07 ...

所以我敢打赌这是结果。

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