ANSI C标准规定了解析或者格式化日期时间字符串的指令。
当前支持的指令完全兼容C标准(1989版本),具体示例及注释如下。
指令 | 含义 | 示例 | 注释 |
%a | 工作日的缩写。 |
| 当前以en-US为展示,暂不支持其他locale。 |
%A | 工作日的全拼。 |
| 当前以en-US为展示,暂不支持其他locale。 |
%w | 以十进制数显示的工作日,其中0表示星期日,6表示星期六。 |
| 无 |
%d | 补0后,以十进制数显示月份中的一天。 |
| 解析时 |
%b | 本地月份的缩写。 |
| 当前以en-US为展示,暂不支持其他locale。 |
%B | 本地月份的全拼。 |
| 解析时 |
%m | 补0后,以十进制数显示的月份。 |
| 解析时 |
%y | 补0后,以十进制数表示的不带世纪的年份。 |
| 解析时 |
%Y | 十进制数表示的带世纪的年份。 |
| 解析年时,范围是[1,9999],如果年小于1000,必须用0填充为4位数。例如0180表示公元180年。 |
%H | 24小时制,由0填充的十进制。 |
| 解析时 |
%I | 12小时制,由0填充的十进制。 |
| 解析时 |
%p | 本地化的AM或PM。 |
|
|
%M | 补0后,以十进制数显示的分钟。 |
| 解析时 |
%S | 补0后,以十进制数显示的秒。 |
|
|
%f | 微秒,由0填充的十进制。 |
| 当用于解析微秒时, |
%z | UTC偏移形式:±HHMM[SS[.ffffff]]。日期时间不含时区时为空串。 |
| 不包含时区的日期时间对象, |
%Z | 时区名。日期缺少时区时为空串。 |
| 无 |
%j | 每年的第几天。 |
| 解析时 |
%U | 每年的第几周,星期天是每周第一天。一年中第一个星期天前的日子都被视为week 0。 |
|
|
%W | 每年的第几周,星期一是每周第一天。一年中第一个星期一前的日子都被视为week 0。 |
|
|
%c | 本地化的日期和时间表示。 |
| 当前以en-US为展示,暂不支持其他locale。 |
%x | 本地化的日期表示。 |
| 当前以en-US为展示,暂不支持其他locale。 |
%X | 本地化的时间表示。 |
| 当前以en-US为展示,暂不支持其他locale。 |
%% | 字面的 |
| 无 |
为方便使用,也支持部分非标准C89指令:
指令 | 含义 | 示例 | 注释 |
%G | ISO 8601,年的形式,包含ISO周信息%V。 |
| 解析时 |
%u | ISO 8601,每周第几天,星期一是每周第一天。 |
| 无 |
%V | ISO 8601,每年第几周,星期一是每周第一天。 |
|
|