![[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 | 由月份中的日期來取代(十進位數)(1-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(或 '1' 代表 1am)" |
%l | 由小時(12 小時制)來取代(十進位數)(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 日的週含有新年份四天或以上,這週便是第一週;否則,它是前一年的最後一週,下一週是第一週。 |
"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