0

Python2.6.6とPyQt4を使用しています。開始QDateTimeオブジェクトがあり、60秒を繰り返し追加して、指定された期間内の毎分のリストを作成しています。QDateTimeオブジェクトに2つの異なるの値を追加すると同じ時間が生成される場合がいくつかあることを発見しました。

問題の例を次に示します。

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

おそらくロケール設定によって異なります。

米国およびその他の国のDSTは2010-11-07...で終了したようです。

だから私はそれがその結果だと思います。

日付を使用して計算を行うことで奇妙な値が得られた場合は、DSTの変更やうるう年がないかどうかを常に確認し、さまざまなロケールを検討してください。悲しいことに、時間は見た目ほど直線的ではありません。

于 2012-05-03T18:54:27.593 に答える