调整“日期”命令以减去三个小时

调整“日期”命令以减去三个小时

在 bash 脚本中,我有以下 3 行:

D=`date -u +%Y%m%d`
H=`date -u +%H`
RUNTIME="${D}_${H}00"

我需要将时间RUNTIME调整为比当前时间早 3 小时。因此,这主要涉及编辑H,但也D因为这一天可能会在当天的前几个小时内向后移动。我该如何修改所有这些以减去 3 小时?谢谢。

答案1

如果您使用datefromcoreutils可以这样做:

D=`date -u '+%Y%m%d' -d '-3 hours'`
H=`date -u '+%H' -d '-3 hours'`
RUNTIME="${D}_${H}00"

-d选项允许您指定当前以外的日期,它支持小时、天等的加/减。

另外,除了创建之外,您D还需要其他吗?如果没有,你可以这样做:HRUNTIME

RUNTIME=`date -u '+%Y%m%d_%H00' -d '-3 hours'`

相关内容