模板:Date

被永久保護的模板
維基百科,自由的百科全書

15 April 2024

文件圖示 模板文件[檢視] [編輯] [歷史] [清除快取]

用途

本模板不能將日期顯示為中文格式。如需實現,請改用{{Chinese date}}模板。

本模版用來統一維基百科內日期格式排版,本模版最好被用在其他模版中。 如果你想對日期整理成一個表格,可使用{{Dts}} 代替。

用法

本模版使用兩個參數,兩者都是可選的:

{{date|<要格式化的日期>|<日期格式化的方式>}}

  • <要格式化的日期> :本參數為可選的
    如果沒填入具體日期,則本模版自動填上現在時間
    例如,{{date}} produces 15 April 2024。
    如果填入了具體日期,但其格式不能被本模版識別出的話,本模版會顯示as is。大多數日期格式都能被識別出,包括所有在維基百科通常使用的格式。其他日期數字的變體也被識別,包括縮寫或小寫的月份名稱,'st'、'nd'、'rd'、'th'縮寫,忽略空格,缺逗號,等。
    注意:
    • 一些數據不是真正的日期數據,但使用該模版也會被識別為日期數據。請看注意事項
    • 只支持1 January 1000到31 December 9999的時間段。兩位數的日期會產生意想不到的結果。在1000~9999範圍的的數據將被視為第二參數為"none"。
  • <日期格式化的方式>: 本參數用於控制日期的輸出格式。
    如無指明本參數,本模版默認格式為'd month yyyy'
    能被第二參數識別的屬性值如下:
    • none 沒適用的格式化
    • dmy 輸出格式為 d mmmm yyyy (例如:15 April),這是默認格式。
    • mdy 輸出格式為 mmmm d, yyyy (例如:April 15)
    • ymd 輸出格式為 yyyy mmmm dd (例如:April 15)
    • iso 輸出符合 ISO 8601 的格式 yyyy-mm-dd (例如:April 15)
  • 注意:
    • 雖然這是能被MediaWiki的日期自動格式化系統所支持的四種格式,但只有dmy/ldmymdy/lmdy與英文維基格式手冊。使用iso/liso這種ISO 8601標準格式在within article prose在格式書冊中是被不允許的,這種格式應該只在表格中使用。
    • 在每一種情況下,MediaWiki的自動日期格式化系統都能輸出準確的時間格式,
      但是,即使日期為連結,也不會被MediaWiki自動日期格式化系統修改的,這意味着允許日期能有一致的輸出格式,不管其是否被連結。

例子

合理輸入

輸入 輸出
無明確格式
{{date|2006-05-04}} 4 May 2006
{{date|May 4, 2006}} 4 May 2006
{{date|4 May 2006}} 4 May 2006
{{date|4 May}} 4 May
{{date|May 4}} 4 May
使用dmy 格式
{{date|2006-05-04|dmy}} 4 May 2006
{{date|May 4, 2006|dmy}} 4 May 2006
{{date|4 May 2006|dmy}} 4 May 2006
{{date|4 May|dmy}} 4 May
{{date|May 4|dmy}} 4 May
使用mdy 格式
{{date|2006-05-04|mdy}} May 4, 2006
{{date|May 4, 2006|mdy}} May 4, 2006
{{date|4 May 2006|mdy}} May 4, 2006
{{date|4 May|mdy}} May 4
{{date|May 4|mdy}} May 4
使用ymd 格式
{{date|2006-05-04|ymd}} 2006 May 4
{{date|May 4, 2006|ymd}} 2006 May 4
{{date|4 May 2006|ymd}} 2006 May 4
{{date|4 May|ymd}} May 4
{{date|May 4|ymd}} May 4
使用iso 格式
{{date|2006-05-04|iso}} 2006-05-04
{{date|May 4, 2006|iso}} 2006-05-04
{{date|4 May 2006|iso}} 2006-05-04
{{date|4 May|iso}} May 4
{{date|May 4|iso}} May 4
使用none 格式
{{date|2006-05-04|none}} 2006-05-04
{{date|May 4, 2006|none}} May 4, 2006
{{date|4 May 2006|none}} 4 May 2006
{{date|4 May|none}} 4 May
{{date|May 4|none}} May 4

其他有效輸入

其他各種各樣的輸入格式也能被本模版正確識別輸出:

輸入 輸出
{{date|1st December 2008}} ('st'日縮寫 ) 1 December 2008
{{date|June 24 2006}} (缺逗號) 24 June 2006
{{date|24 june 2006}} (小寫的英文月名) 24 June 2006
{{date|24 jun}} (縮寫英文月名) 24 June
{{date|June 2006}} June 2006

不合理的輸入

輸入不能被本模版接受的字符串將不會被警告,這其中包括含有字符的字符串,所以任何連結將導致未格式化的輸出。

輸入 輸出
{{date|23007-031-24}} 23007-031-24
{{date|[[1 December]] [[2008]]|ymd}} 1 December 2008
{{date|1 December [[2008 in film|2008]]|mdy}} 1 December 2008

注意事項

超出範圍值會被「修正」
  • 本模版所基於的PHP庫會把超出範圍值轉換為最接近範圍的值。所以,一些好像日期但實質不是日期的值也會被過度轉換。這包括:
    • 所有為0日的月份的日期。當寫成「X月0日」之類的數據會被轉化為上月的最後一天。
      例如, {{date|June 0, 2006}} 的結果為 31 May 2006
      相似的, {{date|0 January 2006}} 變成 31 December 2005.
    • 所有天數超過當月天數的,將多出的天數往以後月份累加。
      例如, {{date|31 November 2008}} 的結果為 1 December 2008, 因為11月只有30天。
      相似的, {{date|February 29, 2007}} 的結果為1 March 2007, 因為2007不是閏年。
      注意: 由於PHP庫解釋器的特性, 'December 32' 和 '32 December' 是不同的, 和後一個是錯誤的 (這會令模板原樣輸出的), 只有前一個有效,並「正確累加」到下個月。
非公曆日期也會被視為公曆日期
  • 本模版所基於的PHP庫會假定所有日期為公曆日期,不理會上下說明,所以:
    • 所有非公曆日期會按上面的規則被變換,例如:{{date|30 February 1712}}的結果為1 March 1712因為雖然對於瑞典歷來說1712年2月30日是合理的,但對於公曆來說,2月最多只有29日的。
    • 10的倍數年的日期,如1000, 1100, 1300, 1400, 1500的2月29日和3月1日,也不能使用。原因同上。
    • 部分不符合某些地區曆法的日期也會被正確處理為公曆日期,例如,對於俄歷來說,1912年2月29日或1918年2月1日是不存在的,但對公曆來說是存在的。
ISO 8601 格式標準不適用於1583年之前的年份

ISO 8601標準只規定1583年之後的日期標準,由於沒有標準規定1583年之前的日期標準,不要在本模版使用該年份段的日期和任何不屬於公曆的日期。

不提供為微格式
  • hCalendarhCard 兩種微格式有各種各樣本模版不能輸出的功能。如果,想在infoboxes模板內使用微格式日期模板的話,請使用{{Start date}}、{{End date}}或{{Birth date}}。