在哪里可以找到日期命令的格式说明符的完整列表?

在哪里可以找到日期命令的格式说明符的完整列表?

我想在 macOS 11.6 上获取月份名称,我尝试过

  1. 检查手册页date
  2. 检查手册页strptime

但我无法弄清楚使用什么格式说明符来显示月份名称。

网上查了一下,好像是%b显示的。

我想知道,在哪里可以找到有关 UNIX 中说明符的所有信息?

如果手册页没有此信息,官方来源是什么?

答案1

strftime()C 语言函数( )的手册man strftime应包含大多数 Unix 和类 Unix 系统中的所有日期格式说明符。

strptime()函数与将字符串解析为时间值(这不是您想要做的)有关,而strftime()与将时间值输出为格式化字符串(您想要做的)有关。

也可以看看strftime()接口的 POSIX 规范

答案2

MacOS 是符合 POSIX 标准,并获得这样的认证。因此您还可以检查POSIX 文档date。这里列出了可用的格式说明符:

转换规格

%a区域设置的工作日缩写名称。

%A区域设置的完整工作日名称。

%b区域设置的月份名称缩写。

%B区域设置的完整月份名称。

...

遗憾的是 Mac 的手册页直接忽略了这些有用的信息。然而,它确实包含这样一段:

带有前导加号 ( +) 的操作数表示用户定义的格式字符串,该字符串指定显示日期和时间的格式。格式字符串可以包含中描述的任何转换规范时间(3) 手册页以及任意文本。换行符 ( \n) 始终在格式字符串指定的字符之后输出。

在“另请参阅”部分中,还参考了时间(3)。

不幸的是,至少在我的 Mac 上,没有时间(3) 手册页,因此如果不参考在线文档就不可能获得更多信息。 (显然 C 库手册页是作为 XCode 的一部分安装的。)

答案3

对于date命令,man date这是正确的解读。它确实列出了 %b 和 %B,因此您应该直接找到它,而无需浏览互联网。这是最近的副本man date

但这是特定于该命令的。其他程序、库有不同的格式。您将需要查找他们的个人文档。

相关内容