Просматривая свои предыдущие ответы, я заметил, что предлагал код, например this :
import time
def dates_between(start, end):
# muck around between the 9k+ time representation systems in Python
# now start and end are seconds since epoch
# return [start, start + 86400, start + 86400*2, ...]
return range(start, end + 1, 86400)
Перечитывая этот фрагмент кода, я не мог не чувствую жуткое прикосновение Тони Пони к моему позвоночнику, нежно бормочущего «високосные секунды» в мои уши и другие такие ужасные, ужасные вещи.
Когда ломается допущение «день длится 86 400 секунд» для определения «секунды» эпохи, если вообще? (Я предполагаю, что такие функции, как Python time.mktime
, уже возвращают значения с поправкой на летнее время, поэтому приведенный выше фрагмент также должен работать в дни переключения на летнее время ... Надеюсь?)