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

时间:2018-11-07 16:04:02

标签: shell command sh

要获取当前命令,我们使用简单的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'`

3 个答案:

答案 0 :(得分:1)

对于date选项,您可以使用ago命令使用漂亮的关键字-d

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

答案 1 :(得分:0)

使用macOS随附的BSD date,使用-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

答案 2 :(得分:0)

显示当前日期:

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"