在Linux上bash上如何获取昨天的日期的安全方法是什么呢?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (87)

我有一个在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"

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

提问于
用户回答回答于

我认为这应该起作用,不管你运行多久和何时运行:

date -d "yesterday 13:00" '+%Y-%m-%d'
用户回答回答于

在Mac OSX下Bash稍有不同。

昨天的方式:

echo `date -v-1d +%F`

上周的方式:

echo `date -v-1w +%F`

扫码关注云+社区

领取腾讯云代金券