У меня есть скрипт, который работает на Linux и использует этот вызов, чтобы получить вчерашнюю дату в YYYY-MM-DD
формате:Получить вчерашнюю дату в Баш на Linux, ДСТ-безопасной
date -d "1 day ago" '+%Y-%m-%d'
Он работает большую часть времени, но когда сценарий запускался вчера утром в 2013-03-11 0:35 CDT
, он вернул "2013-03-09"
вместо "2013-03-10"
.
Предположительно, летнее время (которое началось вчера) виновато. Я предполагаю, что путь "1 day ago"
реализован он вычитал 24 часа, а за 24 часа до 2013-03-11 0:35 CDT
был 2013-03-09 23:35 CST
, что привело к результату "2013-03-09"
.
Итак, что хорошего DST-безопасного способа получить вчерашнюю дату в bash на Linux?
Вы всегда одновременно запуская это, вы используете его повторно? – tink
@tink он работает ежедневно в 00:35 –
Возможный дубликат [Получить дату (за день до текущего времени) в Bash] (http://stackoverflow.com/questions/1706882/get-the-date-a-day -before-current-time-in-bash) – shgnInc