在Bash中获取提供日期之前的日期

时间:2013-07-03 18:55:28

标签: bash shell datetime

我有一个bash脚本,它以YYYYMMDD格式接收日期作为参数($ 1)

我需要做的是从提供的日期减去一天。让我们以20130701为例,经过处理我希望得到20130630。

我怎样才能在bash中这样做? (一线解决方案获得奖励积分!)

1 个答案:

答案 0 :(得分:5)

假设你有GNU日期:

$ set -- 20130701
$ yesterday=$(date -d "$1 - 1 day" "+%Y%m%d")
$ echo "$yesterday"
20130630