ANSI C标准规定了解析或者格式化日期时间字符串的指令。
当前支持的指令完全兼容C标准(1989版本),具体示例及注释如下。
指令 | 含义 | 示例 | 注释 |
---|---|---|---|
%a | 工作日的缩写。 | Mon,...,Fri |
当前以en-US为展示,暂不支持其他locale。 |
%A | 工作日的全拼。 | Monday,...,Friday |
当前以en-US为展示,暂不支持其他locale。 |
%w | 以十进制数显示的工作日,其中0表示星期日,6表示星期六。 | 0,1,2,3,4,5,6 |
无 |
%d | 补0后,以十进制数显示月份中的一天。 | 01,02,...,31 |
解析时%d、%m、%H、%I、%M、%S、%J、%U、%W、%V、%y 不要求开头0补齐。
|
%b | 本地月份的缩写。 | Jan,Feb,...,Dec |
当前以en-US为展示,暂不支持其他locale。 |
%B | 本地月份的全拼。 | January,February,..., December |
解析时%d、%m、%H、%I、%M、%S、%J、%U、%W、%V、%y 不要求开头0补齐。
|
%m | 补0后,以十进制数显示的月份。 | 01,02,...,12 |
解析时%d、%m、%H、%I、%M、%S、%J、%U、%W、%V、%y 不要求开头0补齐。
|
%y | 补0后,以十进制数表示的不带世纪的年份。 | 00,01,...,99 |
解析时%d、%m、%H、%I、%M、%S、%J、%U、%W、%V、%y 不要求开头0补齐。
|
%Y | 十进制数表示的带世纪的年份。 | 0001,0002,...,2013,2014,...,9998,9999 |
解析年时,范围是[1,9999],如果年小于1000,必须用0填充为4位数。例如0180表示公元180年。 |
%H | 24小时制,由0填充的十进制。 | 00,01,...,23 |
解析时%d、%m、%H、%I、%M、%S、%J、%U、%W、%V、%y 不要求开头0补齐。
|
%I | 12小时制,由0填充的十进制。 | 01,02,...,12 |
解析时%d、%m、%H、%I、%M、%S、%J、%U、%W、%V、%y 不要求开头0补齐。
|
%p | 本地化的AM或PM。 | AM,PM |
|
%M | 补0后,以十进制数显示的分钟。 | 00,01,...,59 |
解析时%d、%m、%H、%I、%M、%S、%j、%U、%W、%V、%y 不要求开头0补齐。
|
%S | 补0后,以十进制数显示的秒。 | 00,01,...,59 |
|
%f | 微秒,由0填充的十进制。 | 000000,000001,..., 999999 |
当用于解析微秒时, %f 可以接受0-6个字符的数字串。
|
%z | UTC偏移形式:±HHMM[SS[.ffffff]]。日期时间不含时区时为空串。 | (empty),+0000,-0400,+1030,+063415,-030712.345216 |
不包含时区的日期时间对象, %z 和%Z 会被替换为空串。%z 格式化为±HHMM[SS[.ffffff]] 时,并不要求必须提供分钟。解析时支持分号分隔的字符串,+01:00:00 ,另外Z 等于+00:00 。
|
%Z | 时区名。日期缺少时区时为空串。 | (empty),UTC,EST,CST |
无 |
%j | 每年的第几天。 | 001,002,...,366 |
解析时%d、%m、%H、%I、%M、%S、%J、%U、%W、%V、%y 不要求开头0补齐。
|
%U | 每年的第几周,星期天是每周第一天。一年中第一个星期天前的日子都被视为week 0。 | 00,01,...,53 |
|
%W | 每年的第几周,星期一是每周第一天。一年中第一个星期一前的日子都被视为week 0。 | 00,01,...,53 |
|
%c | 本地化的日期和时间表示。 | Tue Aug 16 21:30:00 1988 |
当前以en-US为展示,暂不支持其他locale。 |
%x | 本地化的日期表示。 | 08/16/88 |
当前以en-US为展示,暂不支持其他locale。 |
%X | 本地化的时间表示。 | 21:30:00 |
当前以en-US为展示,暂不支持其他locale。 |
%% | 字面的 '%' 字符。
|
% |
无 |
为方便使用,也支持部分非标准C89指令:
指令 | 含义 | 示例 | 注释 |
---|---|---|---|
%G | ISO 8601,年的形式,包含ISO周信息%V。 | 0001,0002,...,2013,2014,...,9998,9999 |
解析时%V 仅用于计算。
|
%u | ISO 8601,每周第几天,星期一是每周第一天。 | 1,2,...,7 |
无 |
%V | ISO 8601,每年第几周,星期一是每周第一天。 | 01,02,...,53 |
|