![日期的 %h 和 %b 格式代码产生相同输出的历史原因?](https://linux22.com/image/1485997/%E6%97%A5%E6%9C%9F%E7%9A%84%20%25h%20%E5%92%8C%20%25b%20%E6%A0%BC%E5%BC%8F%E4%BB%A3%E7%A0%81%E4%BA%A7%E7%94%9F%E7%9B%B8%E5%90%8C%E8%BE%93%E5%87%BA%E7%9A%84%E5%8E%86%E5%8F%B2%E5%8E%9F%E5%9B%A0%EF%BC%9F.png)
是否存在历史原因导致date
's%h
和%b
格式代码产生相同的输出?
$ echo $(date +\%h)
Mar
$ echo $(date +\%b)
Mar
date
格式代码中也存在其他冗余,但今天早上这个引起了我的注意。另请参阅这一页。
答案1
根据http://linux.die.net/man/3/strftime,%h
在单一 UNIX 规范中(下面用“SU”表示),但%b
事实并非如此。
%b
The abbreviated month name according to the current locale.
%h
Equivalent to %b. (SU)
这是我能找到的唯一区别。//man date
不strptime
包含strftime
此信息。