自记录纪元以来的秒数在日期字符串之前哪里使用@?

自记录纪元以来的秒数在日期字符串之前哪里使用@?

GNUdatetouch命令(可能还有其他命令)用于@date将日期字符串定义为自纪元以来的秒数。例如:

$ TZ=UTC date -d@10
Thu Jan  1 00:00:10 UTC 1970

我正在回答一个问题,想向 OP 指出记录此特定功能的位置,但我找不到它。也不解释一下man dateman touch最接近的是手册页“示例”部分中的内容date

   Convert seconds since the epoch (1970-01-01 UTC) to a date

          $ date --date='@2147483647'

的页面info指出date这是在coreutils5.3.0 中引入的,但也没有真正进一步解释它:

 Or if you do not mind depending on the `@' feature present since
 coreutils 5.3.0, you could shorten this to:

      date -d @946684800 +"%F %T %z"
      1999-12-31 19:00:00 -0500

那么,@seconds记录在哪里呢?我应该在哪里了解它?我可以向那些不了解它的人指出哪里?这就是man date我们所拥有的最好的东西吗?

答案1

这记录在GNU Coreutils信息页面的第 28.9 节“自纪元以来的秒数”中:

info Coreutils 'Seconds since the Epoch'

我在这里添加第一段:该部分内容如下:

如果在数字前面加上“@”,则它表示以秒数表示的内部时间戳。该数字可以包含内部小数点(“ .' or,”);内部表示不支持的任何多余精度都会被截断为负无穷大。此类数字不能与任何其他日期项组合,因为它指定完整的时间戳。

相关内容