PQt4 QDatetime: почему я получаю один и тот же ответ при использовании addSecs() с двумя разными значениями секунд?
Я использую 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
Я стучал головой по клавиатуре, пытаясь понять это. Что я делаю неправильно?
1 ответ
Это, вероятно, зависит от ваших настроек локали:
кажется DST в США и других странах закончилась 2010-11-07
...
так что держу пари, что это результат этого.
если вы получаете какие-то странные значения при выполнении вычислений с датами, всегда проверяйте, не было ли изменения летнего времени или високосного года, и рассматривайте различные локали. к сожалению, время не всегда так линейно, как кажется.