在 bash 脚本中,我有以下 3 行:
D=`date -u +%Y%m%d`
H=`date -u +%H`
RUNTIME="${D}_${H}00"
我需要将时间RUNTIME
调整为比当前时间早 3 小时。因此,这主要涉及编辑H
,但也D
因为这一天可能会在当天的前几个小时内向后移动。我该如何修改所有这些以减去 3 小时?谢谢。
答案1
如果您使用date
fromcoreutils
可以这样做:
D=`date -u '+%Y%m%d' -d '-3 hours'`
H=`date -u '+%H' -d '-3 hours'`
RUNTIME="${D}_${H}00"
该-d
选项允许您指定当前以外的日期,它支持小时、天等的加/减。
另外,除了创建之外,您D
还需要其他吗?如果没有,你可以这样做:H
RUNTIME
RUNTIME=`date -u '+%Y%m%d_%H00' -d '-3 hours'`