У меня есть оболочка script, которая работает в Linux и использует этот вызов для получения вчерашней даты в формате YYYY-MM-DD
:
date -d "1 day ago" '+%Y-%m-%d'
Он работает большую часть времени, но когда script запускался вчера утром в 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?