ste*_*ver 15
事实上,GNUdate命令(这是 Ubuntu 中的标准实现)可以直接添加日期偏移量 - 例如将 3662 秒(1 小时、1 分钟、2 秒)添加到给定日期
$ date '+%d.%b.%Y %T' --date="2012-06-13 09:16:16 EDT + 3662 seconds"
13.Jun.2012 10:17:18
Run Code Online (Sandbox Code Playgroud)
但是,需要注意时区和夏令时 - 更安全的选择可能是将原始时间转换为自纪元开始以来的秒数,并在转换回所需格式之前添加所需的偏移量,例如
$ secs=$(date +%s --date="2012-06-13 09:16:16")
$ date '+%d.%b.%Y %T' --date="@$((secs + 3662))"
13.Jun.2012 10:17:18
Run Code Online (Sandbox Code Playgroud)
您还可以通过以下方式轻松增加当前日期:
date --date="+1 seconds" '+%Y-%m-%d %T'
Run Code Online (Sandbox Code Playgroud)
man date说这已记录在 中info date,但我现在不想阅读info手册来引用它:-)
在 Ubuntu 18.04、dateCoreutils 8.28 中进行了测试。
像这样:
$ date +%x.%H:%M:%S:%N
01/21/2014_16:02:07:422856522
Run Code Online (Sandbox Code Playgroud)
它为我显示了美国风格的数据,但请参阅man date以获得更多细化。两个有趣的选项:
%N nanoseconds (000000000..999999999)
%S second (00..60)
Run Code Online (Sandbox Code Playgroud)
如果您想使用标准年、月、日格式:
$ date +%Y.%m.%d_%H:%M:%S:%N
2014.07.21_16:07:52:641771706
Run Code Online (Sandbox Code Playgroud)