У меня есть python script, который использует этот вызов для получения вчерашней даты в формате YYYY-MM-DD:
str(date.today() - timedelta(days=1)))
Он работает большую часть времени, но когда script выполнял это утро в 2013-03-11 0:35 CDT
, он возвращал "2013-03-09"
вместо "2013-03-10"
.
Предположительно, летнее время (которое началось вчера) виновато. Я предполагаю, что способ timedelta(days=1)
реализован, он вычитал 24 часа, а за 24 часа до 2013-03-11 0:35 CDT
был 2013-03-09 23:35 CST
, что привело к результату "2013-03-09"
.
Итак, какой хороший DST-безопасный способ получить вчерашнюю дату на python?
UPDATE: После того, как bukzor указал, что мой код должен работать правильно, я вернулся к script и решил, что он не используется. Он устанавливает значение по умолчанию, но оболочка оболочки script задает дату явно. Таким образом, ошибка находится в оболочке script, а не в python script.