一尘不染

在DST安全的Linux上以bash获取昨天的日期

linux

我有一个在Linux上运行的shell脚本,并使用此调用以以下YYYY-MM-DD格式获取昨天的日期:

date -d "1 day ago" '+%Y-%m-%d'

它在大多数情况下都有效,但是当脚本在昨天早晨运行时2013-03-11 0:35 CDT返回"2013-03-09"而不是"2013-03-10"

大概归咎于夏令时(从昨天开始)。我猜"1 day ago"它的实现方式减去了2013-03-11 0:35 CDTwas的24小时和24小时2013-03-09 23:35 CST,这导致的结果"2013-03-09"

那么,在Linux上bash中获取昨天日期的一种DST安全的好方法是什么?


阅读 234

收藏
2020-06-02

共1个答案

一尘不染

我认为这应该有效,无论您运行它的频率和时间…

date -d "yesterday 13:00" '+%Y-%m-%d'
2020-06-02