![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
StrfTime 格式转换
使用 %{format}t 日志参数时所用的格式基于非扩展的 BSD strftime(3) 时间转换函数。专门支持的参数和样本输出列示在以下表中。
所选的特定于本地的参数仅受美式英语支持。具体地说,月、日和年出现的顺序,或许其他项目的顺序在所有语言环境中都保留为美式英语。词语(如工作日、月份名称及时区)将根据语言环境正确拼写。
转换字符串 | 描述 | 示例 |
---|---|---|
%A | 由完整工作日名称的本地表示替换。 |
“Thursday” |
%a | 由工作日缩写的本地表示替换。 |
“Thu” |
%B | 由完整月份名称的本地表示替换。 |
“September” |
%b | 由月份缩写的本地表示替换。 |
“Sep” |
%C | 年,除以 100(即,世纪)。 |
“20” |
%c | 由时间和日期的本地表示替换。 |
“Thu Sep 25 22:32:00 EDT” |
%D | 相当于 %m/%d/%y |
“09/25/08” |
%d | 月中的日期以十进制数 (01-31) 替换。 |
“25” |
%e | 月中的日期以十进制数 (01-31) 替换。 |
“25” |
%F | 相当于 %Y-%m-%d。 |
“2008–09–25” |
%G* | 基于 ISO 8601 周的年份(请参阅“注释”)带有作为十进制数的世纪。4 位数的年份与 ISO 周数相对应(请参阅 %V)。这有与 %Y 相同的格式和值,除非 ISO 周数属于上一年或下一年,否则改用年份。 |
“2008” |
%g* | 由 %G 中相同的年份替换,但作为不带世纪的十进制数 (00-99)。 |
“08” |
%H | 由小时(24 小时制)作为十进制数替换 (00-23)。 |
“22” |
%h | 相当于 %b。 |
“Sep” |
%I | 由小时(12 小时制)作为十进制数替换 (01-12)。 |
“10” |
%j | 由年中的天作为十进制数 (001-366) 替换。 |
“269” |
%k | 由小时(24 小时制)作为十进制数替换 (0-23);单独的数字加上空格前缀。 |
“22 (or '1' for 1am” |
%l | 由小时(24 小时制)作为十进制数替换 (1-12);单独的数字加上空格前缀。 |
“10” |
%M | 由分钟作为十进制数 (00-59) 替换。 |
“32” |
%m | 由月作为十进制数 (01-12) 替换。 |
“09” |
%n | 由换行符替换。 |
|
%P | 由 AM 或 PM 替换。 |
“PM” |
%R | 相当于 %H:%M。 |
“22:32” |
%r | 相当于 %I:%M:%S %p。 |
“10:32:00 pm” |
%S | 由秒作为十进制数 (00-60) 替换。 |
“00” |
%s | 由自新纪元 UTC 算起的秒数替换(请参阅 mktime(3))。 |
“1222396320” |
%T | 相当于 %H:%M:%S |
“22:32:00” |
%t | 由跳进字符替换。 |
|
%U | 由一年的周数(星期日作为一周的第一天)作为十进制数 (00-53) 替换。 |
“38” |
%u | 由工作日(星期一作为一周的第一天)作为十进制数 (1-7) 替换。 |
“4” |
%V* | 由一年的周数(星期一作为一周的第一天)作为十进制数 (01-53) 替换。如果在新的一年包含 1 月 1 日这周有四天或更多天,那么这周是周 1;否则,这周是去年的最后一周,而下一周是周 1。 |
“39” |
%v | 相当于 %e-%b-%Y。 |
“25–Sep-2008” |
%W | 由一年的周数(星期一作为一周的第一天)作为十进制数 (00-53) 替换。 |
“38” |
%w | 由工作日(星期日作为一周的第一天)作为十进制数 (0-6) 替换。 |
“4” |
%X | 由本地表示的时间替换。 |
“22:32:00” |
%x | 由本地表示的日期替换。 |
“09/25/08” |
%Y | 由带有世纪的年份作为十进制数替换。 |
“2008” |
%y | 由不带有世纪的年份作为十进制替换。 |
“08” |
%Z | 由时区名称替换。 |
“EDT” |
%z | 由与 UTC 的时区偏移量替换;前导加号代表东部 UTC,减号为西部 UTC,小时和分钟分别后跟两位数,中间没有定界符(RFC 822 日期头的常见格式)。 |
“-0500” |
%+ | 由日期和时间的本地表示替换(格式类似于由 date(1) 所产生的格式)。 |
“Thu Sep 25 22:32:00 EDT” |
%1 | 毫秒,四舍五入至三位数,以零开头。注意:这与 strftime 格式不符,后者可表示毫秒。 |
“000” |
%% | 由“%”替换 |
% |
* %G、%g 和 %V 产生从由 ISO 8601 标准定义的基于周的年计算的值。在此系统中,周从星期一且编号为 01(第一周)开始到 52 或 53(最后一周)。周 1 是第一周,其中四天以上是新年中的天数。或者,同样,周 01 是一年中包含周四的第一周;或者包含 1 月 4 日的周。新年中第一个日历周少于三天归于这一年时,基于 ISO 8601 周系统会将这些天数算作未来一年 53 周中的一部分。例如,2010 年 1 月 1 日是周五,表示该日历周的正好三天归于 2010。这样,基于 ISO 8601 周系统会将这些天视为 2009 (%G) 年 53 (%V) 周的一部分;ISO 8601 2010 年 01 周开始于 2010 年 1 月 4 日周四。
%{The time is: %X.%1%nThe date is: %x}t
此输入产生以下输出:The time is: 22:32:00.000 The date is: 09/25/08