的date
命令输出当前日期和时间是这样的:Fri Apr 12 15:04:03 UTC 2013
。
要以自定义格式输出日期时间,我们可以使用date +FORMAT
,例如,像这样:date "+%Y-%m-%dT%H:%M:%S%:z"
它给出类似2013-04-12T15:04:37+00:00
.
但我想知道是什么%Y
,%m
,%d
,%H
,%M
,%S
,等统称(即术语)。还有,T
叫什么,跟其他的不一样?
date
命令的 POSIX 规范中使用的术语是“转换规范”。
对于格式字符串date
命令紧密依托格式字符串对于C的printf
功能; C 标准还提到了诸如%d
“转换规范”之类的东西。
T
not 前面%
只是一个字符:“所有其他字符应不加更改地复制到输出中。”
根据 POSIX 描述的更改历史记录部分date
:
更新描述以引用转换规范,而不是字段描述符,以与 LC_TIME 类别保持一致。
显然,该规范的早期版本使用了短语“字段描述符”,但“转换规范”是当前的官方术语。
当然,这并不意味着您必须这样称呼它们。