【发布时间】:2018-12-18 17:39:30
【问题描述】:
我已使用以下命令查找 30 分钟前的时间,但无法将命令添加到 30 分钟。
输入结构示例。
dateinput=20181214202959
inputTime=$(echo $dateinput | sed 's,\(.\{4\}\)\(.\{2\}\)\(.\{2\}\)\(.\{2\}\)\(.\{2\}\),\1-\2-\3 \4:\5:,')
param2=`date '+%Y%m%d%H%M%S' --date="$inputTime 30 minutes ago"`
echo $param2
20181214195959
请告诉我添加 30 分钟的步骤,类似于上述步骤。对于上面给出的示例 dateinput,所需的输出是 20181214205959。
编辑:
使用直接日期命令,我可以根据以下要求添加和减少:
$date
Tue Dec 18 20:49:06 PST 2018
$date --date "-30 minutes"
Tue Dec 18 20:18:55 PST 2018
$date --date "+30 minutes"
Tue Dec 18 21:19:01 PST 2018
我的要求是从输入中获取日期,该日期将以 YYYYMMDDhhmmss 格式给出,例如 20181214202959。这是我面临问题的地方。能够使用“30 分钟前”命令减少时间,但无法获得给定时间的未来值。
【问题讨论】:
-
您的
param2反引号未关闭。 -
这是一个错字,感谢您的通知。现在更正了。减去时间但增加时不会遇到任何问题。
标签: linux unix-timestamp