我想在 macOS 11.6 上获取月份名称,我尝试过
- 检查手册页
date
- 检查手册页
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
。
但这是特定于该命令的。其他程序、库有不同的格式。您将需要查找他们的个人文档。