模板:TimeZone/convert
跳至導覽
跳至搜尋
除非特別註明,本頁面所有時間皆以東八區時間(UTC+08:00)為準。
簡介
這個模板會根據指定的日期和時區,換算出新時區下的日期,並按指定的格式輸出wiki文本。
雖然沒有硬性規定,但是建議在使用這個模板的頁面的序章中添加{{TimeZone}}。
參數
- 使用格式:
參數全稱
{{TimeZone/convert
| year = <!-- 年 -->
| mon = <!-- 月 -->
| day = <!-- 日 -->
| hour = <!-- 时 -->
| min = <!-- 分 -->
| sec = <!-- 秒 -->
|o_timezone = <!-- 原来的时区 -->
|c_timezone = <!-- 现在的时区 -->
|<!-- 格式化字符串 -->
}}
參數簡寫
{{TimeZone/convert
| y = <!-- 年 -->
| m = <!-- 月 -->
| d = <!-- 日 -->
| h = <!-- 时 -->
| i = <!-- 分 -->
| s = <!-- 秒 -->
|o_tz = <!-- 原来的时区 -->
|c_tz = <!-- 现在的时区 -->
|<!-- 格式化字符串 -->
}}
year、y:原時區下的年份,默認值為在原時區下當前時間的年份。mon、m:原時區下的月份,默認值為在原時區下當前時間的月份。day、d:原時區下的日期,默認值為在原時區下當前時間的日期。hour、h:原時區下的小時數,默認值為在原時區下當前時間的小時數。min、i:原時區下的分鐘數,默認值為在原時區下當前時間的分鐘數。sec、s:原時區下的秒數,默認值為在原時區下當前時間的秒數。o_timezone、o_tz:原來的時區,默認值為用戶當前所在的時區。c_timezone、c_tz:現在的時區,默認值為用戶當前所在的時區。{{{1}}}:第一個匿名參數,指示如何格式化新日期。
原理
了解模板的實現原理有助於對模板的理解和運用。 以下說明了模板的實現以及工作原理:
- 在條目序言中添加{{TimeZone}},將會定義一個全局變量
{{#var:timezone}}。{{#var:timezone}}的值為使用{{TimeZone}}時指定的時間參數,若並未指定時間參數,則使用[[模塊:TimeZone]]計算得到的用戶當前時區。
- 計算原來的時區和現在的時區
- 計算
o_timezone、o_tz:- 若兩個參數的值均為空,則使用[[模塊:TimeZone]]計算得到的用戶當前時區。
- 計算
c_timezone、c_tz:- 若兩個參數的值均為空,則使用
{{#var:timezone}}的值; - 若
{{#var:timezone}}的值為空(【不建議】當未添加{{TimeZone}}的情況下),則使用[[模塊:TimeZone]]計算得到的用戶當前時區。
- 若兩個參數的值均為空,則使用
- 計算
- 依次計算:
year、y:若兩個參數的值均為空,則使用在原時區下當前時間的年份。mon、m:若兩個參數的值均為空,則使用在原時區下當前時間的月份。day、d:若兩個參數的值均為空,則使用在原時區下當前時間的日期。hour、h:若兩個參數的值均為空,則使用在原時區下當前時間的小時數。min、i:若兩個參數的值均為空,則使用在原時區下當前時間的分鐘數。sec、s:若兩個參數的值均為空,則使用在原時區下當前時間的秒數。
- 匯總所有參數,使用[[模塊:TimeZone]]計算新日期,並根據
{{{1}}}格式化新日期。- 所有格式化參數詳見#格式化參數章節
- 返回結果。
格式化參數
目前{{TimeZone/convert}}共支持42個格式化參數:
示例時間:2025年12月06日 (星期六) 凌晨 03:45:53
| 格式化參數 | 說明 | 示例輸出
|
|---|---|---|
| %(y) | 不包含紀元的年份。如果不包含紀元的年份小於10,則顯示不具有前導零的年份。 | 25 |
| %y | 不包含紀元的年份。如果不包含紀元的年份小於10,則顯示不具有前導零的年份。%(y)的簡略寫法。 |
25 |
| %(yy) | 不包含紀元的年份。如果不包含紀元的年份小於10,則顯示具有前導零的年份。 | 25 |
| %(yyyy) | 包括紀元的四位數的年份。 | 2025 |
| %(gg) | 時期或紀元。如果要設置格式的日期不具有關聯的時期或紀元字符串,則忽略該模式。 | 20 |
| %(M) | 月份數字。一位數的月份沒有前導零。 | 12 |
| %M | 月份數字。一位數的月份沒有前導零。%(M)的簡略寫法。 |
12 |
| %(MM) | 月份數字。一位數的月份有一個前導零。 | 12 |
| %(MMM) | 月份的縮寫名稱。 | 十二 |
| %(MMMM) | 月份的縮寫名稱。 | 十二月 |
| %(D) | 年中的某一天。 | 339 |
| %D | 年中的某一天。%(D)的簡略寫法。 |
339 |
| %(DD) | 這一年共有多少天。 | 365 |
| %(d) | 月中的某一天。一位數的日期沒有前導零。 | 6 |
| %d | 月中的某一天。一位數的日期沒有前導零。%(d)的簡略寫法。 |
6 |
| %(dd) | 月中的某一天。一位數的日期有一個前導零。 | 06 |
| %(w) | 周中的某一天。 | 7 |
| %w | 周中的某一天。%(w)的簡略寫法。 |
7 |
| %(ww) | 周中某天的縮寫名稱。 | 六 |
| %(www) | 周中某天的縮寫名稱。 | 星期六 |
| %(h) | 12 小時制的小時。一位數的小時數沒有前導零。 | 3 |
| %h | 12 小時制的小時。一位數的小時數沒有前導零。%(h)的簡略寫法。 |
3 |
| %(hh) | 12 小時制的小時。一位數的小時數有一個前導零。 | 03 |
| %(H) | 24 小時制的小時。一位數的小時數沒有前導零。 | 3 |
| %H | 24 小時制的小時。一位數的小時數沒有前導零。%(H)的簡略寫法。 |
3 |
| %(HH) | 24 小時制的小時。一位數的小時數有一個前導零。 | 03 |
| %(m) | 分鐘。一位數的分鐘數沒有前導零。 | 45 |
| %m | 分鐘。一位數的分鐘數沒有前導零。%(m)的簡略寫法。 |
45 |
| %(mm) | 分鐘。一位數的分鐘數有一個前導零。 | 45 |
| %(s) | 秒。一位數的秒數沒有前導零。 | 53 |
| %s | 秒。一位數的秒數沒有前導零。%(s)的簡略寫法。 |
53 |
| %(ss) | 秒。一位數的秒數有一個前導零。 | 53 |
| %(sss) | Unix時間戳(Unix timestamp)。從格林威治時間1970年01月01日00時00分00秒起至現在的總秒數。 | 1764963953 |
| %(t) | 一天中時間段的更加詳細的提示信息。 | 上午 |
| %t | 一天中時間段的更加詳細的提示信息。%(t)的簡略寫法。 |
上午 |
| %(tt) | 一天中時間段的更加詳細的提示信息。 | 凌晨 |
| %(z) | 時區偏移量(「+」或「-」後面僅跟小時)。一位數的小時數沒有前導零。例如,太平洋標準時間是「-8」。 | +8 |
| %z | 時區偏移量(「+」或「-」後面僅跟小時)。一位數的小時數沒有前導零。例如,太平洋標準時間是「-8」。%(z)的簡略寫法。 |
+8 |
| %(zz) | 時區偏移量(「+」或「-」後面僅跟小時)。一位數的小時數有前導零。例如,太平洋標準時間是「-08」。 | +08 |
| %(zzz) | 完整時區偏移量(「+」或「-」後面跟有小時和分鐘)。一位數的小時數和分鐘數有前導零。例如,太平洋標準時間是「-08:00」。 | +08:00 |
| %(%) | 表示字符「%」。 | % |
| %% | 表示字符「%」。%(%)的簡略寫法。 |
% |
用法
- 簡單示例:
代碼
{{TimeZone|+8}}
现在是北京时间{{TimeZone/convert|%(yyyy)年%(MM)月%(dd)日 %(HH)时%(mm)分%(ss)秒}}。<br/>
当北京时间{{TimeZone/convert|y=2018|m=12|d=15|h=0|i=0|s=0|%(yyyy)年%(MM)月%(dd)日 %(HH)时%(mm)分%(ss)秒(UTC+8)}}时,太平洋时间为{{TimeZone/convert|Y=2018|m=12|d=15|H=0|i=0|s=0|%(yyyy)年%(MM)月%(dd)日 %(HH)时%(mm)分%(ss)秒(UTC-8)|c_tz=-8}}
效果
現在是北京時間2025年12月06日 03時45分53秒。
當北京時間2018年12月15日 00時00分00秒(UTC+8)時,太平洋時間為2025年12月14日 11時00分00秒(UTC-8)
- 全球各時區時間:
- 主頁面:Template:TimeZone/convert/doc/全球各時區時間
高級用法
這個模板與{{TimeZone}}配合使用可以自動轉換頁面上的所有非特別註明的時間。
案例
- [[少女歌劇 Revue Starlight/1st STAR LIVE -Starry Sky-]]
- [[少女歌劇 Revue Starlight/2nd STAR LIVE -Starry Desert-]]
| ||||||||||||||||||||||