将时间添加到时间变量

将时间添加到时间变量

我正在尝试将 3 小时添加到我的时间变量中,如下所示:

today3AM=$(date -d "today 3AM" "+%Y%m%d%H" -u)

today6AM=$(date -d "${today3AM} + 3 hours" -u)

echo $today6AM

返回时有些事情不太正确:

Wed Oct 3 03:00:00 UTC 202001

答案1

不要将 3AM 变量传递回日期。

只需使用这个方法

$ today3AM=$(date -d "today 3AM" -u)
$ today6AM=$(date -d "today 3AM + 3 hours" -u)
$ echo $today3AM
Fri Jan 10 03:00:00 UTC 2020
$ echo $today6AM
Fri Jan 10 06:00:00 UTC 2020
$

答案2

第二个命令不知道 的格式today3AM。为了让today6AM你可以使用类似的东西

today=$(date -d "today 3AM" -u)
echo $today
Fri Jan 10 03:00:00 UTC 2020
today6am=$(date -u -d "${today} +3 hours")
echo $today6am
Fri Jan 10 06:00:00 UTC 2020

现在你可以改变today3am以适应。

相关内容