我知道如何使用date命令格式化bash中的日期
date -d 20160304 +%Y%m%d
例如,。但现在我想通过日期和时间并返回小时和分钟。我知道我需要的输出格式是+%H%M,但我不知道如何格式化日期字符串,它不在手册页中。
例如,如果我尝试其中任何一个:
date -d 201801010500 +%H%M
date -d 20180101_0500 +%H%M
date -d 2018-01-01_0500 +%H%M
date -d 2018:01:01-05:00 +%H%M
我得到一个"无效日期"错误。当我搜索谷歌我总是找到答案参考输出格式,而不是输入格式......
答案 0 :(得分:3)
GNU日期接受这些格式,其中我肯定
$ date -d '2018-02-16 12:34'
Fri Feb 16 12:34:00 EST 2018
$ date -d '2018-02-16T12:34:56'
Fri Feb 16 12:34:56 EST 2018
$ date -d '2018-02-16T12:34:56Z'
Fri Feb 16 07:34:56 EST 2018
一般来说,ISO8601时间格式不会出错
我在加拿大/东部时区
答案 1 :(得分:2)
date
实用程序在理解-d
选项的不同参数时非常令人印象深刻。
这只是一个例子:
$ date -d "20180101 05:00:00"
Mon Jan 1 05:00:00 +07 2018
注意+07
是当地时区。