date -d:接受的字符串有哪些?

date -d:接受的字符串有哪些?

我正在使用“date”命令执行一些简单的日期运算。“-d”选项允许我执行此操作,但手册页对有效数据的定义非常不明确。所有可接受的选项是什么?我该如何弄清楚?

我可以使用此命令来确定 5 分钟前的日期: date -d "5-minutes-ago" +%H:%M

此命令也有效:date -d“-5分钟”+%H:%M

我偶然发现了这些选项。我没有在文档中看到“几分钟前”或“-X 分钟”选项。

我会使用 Perl 来进行算术运算,但不幸的是我无法安装任何额外的 Perl 包。

答案1

有几个相对日期字符串。 minutes ago有效(minutes-ago与破折号相比)。

coreutils 信息页面上有很多示例date

http://www.gnu.org/software/coreutils/manual/html_node/Date-input-formats.html

答案2

一个棘手的是 UNIX 时间戳格式(如果您正在管理文本文件数据库,这很有用 - 您希望将日期/时间数据保存为 UNIX 时间戳,以便可以对它们执行整数运算)

$ date +%s
1299273353
$ date -d @1299273353
Fri Mar  4 15:15:53 CST 2011

at 符号告诉 date 命令该数字是 UNIX 时间戳

答案3

你不需要安装额外的软件包来处理 Perl 中的日期数学运算;只需使用时间()获取纪元偏移,以及当地时间()将其转换为有用的日期数据结构。

相关内容