什么是shell命令来获取当前日期和3小时后的日期



要获得当前命令,我们需要简单的shell脚本命令

日期

如果你想得到一个自定义日期格式

NOW=$(date +"%Y-%m-%d %T")

我没有得到简单的命令,以上述格式获得3小时的返回日期,任何人都可以帮助我。

我使用了下面的shell命令和下面的perl,但我不想要另一个额外的依赖项perl,我只需要shell命令

CURRENT_DATE=`perl -e 'use POSIX qw(strftime);$d = strftime "%Y-%m-%d %H:%M:%S", localtime(time());print $d'`
CURRENT_DATE_MINUS_3_HRS_DATE=`perl -e 'use POSIX qw(strftime);$d = strftime "%Y-%m-%d %H:%M:%S", localtime(time() - 10800);print $d'`

date命令有一个漂亮的关键字ago,用于表示可以使用-d选项给出的日期:

date -d '3 hours ago' +"%Y-%m-%d %T"

显示当前日期:

date "+%Y-%m-%d %T"

显示日期回到3小时:

date -d "-3 Hours" "+%Y-%m-%d %T"

其他一些你可以尝试的东西:

# Back to 3 days
date -d "-3 Days" "+%Y-%m-%d %T"
# Next to 3 days
date -d "3 Days" "+%Y-%m-%d %T"
# Back to 2 Years and 3 Hours
date -d "-2 Years -3 Hours" "+%Y-%m-%d %T"

使用macOS附带的BSDdate,使用-v选项。

$ date +"%Y-%m-%d %T"
2018-11-08 16:25:21
$ date -v -3H +"%Y-%m-%d %T"
2018-11-08 13:25:26

最新更新