2012-05-03 3 views
0

私はPython 2.6.6とPyQt4を使用しています。私は開始QDateTimeオブジェクトを持っており、与えられた時間スパン内の毎分のリストを作成するために繰り返し60秒を追加しています。 QDateTimeオブジェクトに2つの異なる秒の値を追加すると、同じ時刻が生成される場合がいくつかあることがわかりました。ここでPQt4 QDatetime:2つの異なる秒値でaddSecs()を使用すると、同じ回答が得られるのはなぜですか?

は、問題の例です:

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 

私はこれを理解しようとしているキーボードで私の頭を叩いてきました。私は間違って何をしていますか?

+0

'2010-11-07 01:09'と' 2010-11-07 02:09' - 二つの異なる値 – warvariuc

+0

QTimeオブジェクトを使用すると、私は '01:09'と' 02:09'を取得しますこれらの秒値を加算します。それ以外の場合は、常に質問の状態と同じです。 – circuitBurn

+0

あなたの質問のコード、すなわち 'QDateTime' – warvariuc

答えて

3

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

DST in the United States and other countriesはので、私はそれがその結果だと思います賭け2010-11-07 ...

に終わったようです。

日付の計算を行う際に奇妙な値がある場合は、DSTの変更やうるう年がないかどうか常に確認し、異なるロケールを検討してください。残念ながら、時間は必ずしも直線的ではないようです。

+0

それはありがとう! – circuitBurn

関連する問題