此答案和评论提到--rfc-3339和我已经使用了很长时间的“隐藏” --iso-8601选项,现在似乎没有记录。

何时从--help文本中删除该选项文档? />
选项会很快消失吗?

评论

为了在OSX上获得此功能,我终于有了GNU工具:$ brew install coreutils; gdate --iso-8601 -d“昨天12:00”

@macOS的@AnneTheAgile,您可以像这样手动设置日期格式:“日期+%Y-%m-%dT%H:%M:%S%z”

#1 楼

该选项于1999年(4月8日)引入coreutils date(可能是您所拥有的)中。
该文档于2005年被删除,并且在提交中没有太多解释。
2011年,该帮助为--iso-8601重新引入了以下说明:
We deprecated and undocumented the --iso-8601 (-I) option mostly
because date could not parse that particular format.  Now that
it can, it's time to restore the documentation.
* src/date.c (usage): Document it.
* doc/coreutils.texi (Options for date): Reinstate documentation.
Reported by Hubert Depesz Lubaczewski in http://bugs.gnu.org/7444.

好像该帮助已从5.90版本中取出并放回了8.15版本中(不在我的8.13中)并且
在版本8.31(由Solus 2020年7月提供)中,两个选项的手册页描述为:
   -I[FMT], --iso-8601[=FMT]
          output date/time in ISO 8601 format.  FMT='date' for date only (the default), 'hours', 'minutes', 'sec‐
          onds', or 'ns' for date and time to the indicated precision.  Example: 2006-08-14T02:34:56-06:00

   --rfc-3339=FMT
          output date/time in RFC 3339 format.  FMT='date', 'seconds', or 'ns' for date and time to the indicated
          precision.  Example: 2006-08-14 02:34:56-06:00


#2 楼

--help实际上是最近更新的,所以该选项肯定不会消失:

-I[FMT], --iso-8601[=FMT]  output date/time in ISO 8601 format.
                             FMT='date' for date only (the default),
                             'hours', 'minutes', 'seconds', or 'ns'
                             for date and time to the indicated precision.
                             Example: 2006-08-14T02:34:56-06:00

     -R, --rfc-2822        output date and time in RFC 2822 format.
                             Example: Mon, 14 Aug 2006 02:34:56 -0600

         --rfc-3339=FMT    output date/time in RFC 3339 format.
                             FMT='date', 'seconds', or 'ns'
                             for date and time to the indicated precision.
                             Example: 2006-08-14 02:34:56-06:00


请注意,因为不赞成使用coreutils-8.27 --rfc-2822,因此更多一般--rfc-email

     -R, --rfc-email       output date and time in RFC 5322 format.
                             Example: Mon, 14 Aug 2006 02:34:56 -0600


评论


如果没有时区的-I样式会很好。对于时区无关紧要的日志记录等会更有用

–naught101
19年1月17日,下午5:56

#3 楼

我正在运行Linux Mint,并且该选项可用:

$ lsb_release -a
No LSB modules are available.
Distributor ID: LinuxMint
Description:    Linux Mint 17.3 Rosa
Release:    17.3
Codename:   rosa


命令的执行:

$echo $(date --iso-8601=seconds)
2016-12-14T09:53:25-0400


评论


或只是日期-Iseconds

– pstanton
19年11月15日在1:29

但它不会将Z附加到末尾,因此这不是完全完整的ISO时间戳记

–谢尔盖·波诺马列夫(Sergey Ponomarev)
20年1月7日在10:34

那是我可以获得的最接近的参数

– alfredocambera
20年1月8日在15:02