time.Format
使用 time.Format
函式處理 time.Time
值:
{{ $t := time.AsTime "2023-10-15T13:18:50-07:00" }}
{{ time.Format "2 Jan 2006" $t }} → 15 Oct 2023
或者使用 time.Format
函式處理可解析的日期/時間字串表示:
{{ $t := "15 Oct 2023" }}
{{ time.Format "January 2, 2006" $t }} → October 15, 2023
可解析日期/時間字串表示的範例:
格式 | 時區 |
---|---|
2023-10-15T13:18:50-07:00 |
America/Los_Angeles |
2023-10-15T13:18:50-0700 |
America/Los_Angeles |
2023-10-15T13:18:50Z |
Etc/UTC |
2023-10-15T13:18:50 |
預設為 Etc/UTC |
2023-10-15 |
預設為 Etc/UTC |
15 Oct 2023 |
預設為 Etc/UTC |
最後三個範例並未完全指定,預設會指向 Etc/UTC
時區。
若要覆寫預設時區,可以在站點設定中設定 timeZone
。決定時區的優先順序如下:
- 日期/時間字串中的時區偏移
- 在站點設定中指定的時區
Etc/UTC
時區
格式字串
根據 Go 的參考時間 格式化 time.Time
值:
Mon Jan 2 15:04:05 MST 2006
使用這些組件創建一個佈局字串:
描述 | 有效組件 |
---|---|
年 | "2006" "06" |
月 | "Jan" "January" "01" "1" |
週日 | "Mon" "Monday" |
日 | "2" "_2" "02" |
年日 | "__2" "002" |
小時 | "15" "3" "03" |
分鐘 | "4" "04" |
秒數 | "5" "05" |
AM/PM 標記 | "PM" |
時區偏移 | "-0700" "-07:00" "-07" "-070000" "-07:00:00" |
如果要顯示 UTC 區域的 Z(而非偏移),請在佈局字串中將符號替換為 Z。
描述 | 有效組件 |
---|---|
時區偏移 | "Z0700" "Z07:00" "Z07" "Z070000" "Z07:00:00" |
{{ $t := "2023-01-27T23:44:58-08:00" }}
{{ $t = time.AsTime $t }}
{{ $t = $t.Format "Jan 02, 2006 3:04 PM Z07:00" }}
{{ $t }} → Jan 27, 2023 11:44 PM -08:00
像是 PST
和 CET
這些並不是時區,它們是時區 簡稱。
像是 -07:00
和 +01:00
這些並不是時區,它們是時區 偏移。
時區是一個具有相同當地時間的地理區域。例如,時區用 PST
和 PDT
(取決於日光節約時間)縮寫的是 America/Los_Angeles
。
在地化
使用 time.Format
函式為當前語言與地區在地化 time.Time
值。
可使用上述描述的格式字串,或者下列標記之一。例如:
{{ .Date | time.Format ":date_medium" }} → Jan 27, 2023
在地化為 en-US:
標記 | 結果 |
---|---|
:date_full |
Friday, January 27, 2023 |
:date_long |
January 27, 2023 |
:date_medium |
Jan 27, 2023 |
:date_short |
1/27/23 |
:time_full |
11:44:58 pm Pacific Standard Time |
:time_long |
11:44:58 pm PST |
:time_medium |
11:44:58 pm |
:time_short |
11:44 pm |
在地化為 de-DE:
標記 | 結果 |
---|---|
:date_full |
Freitag, 27. Januar 2023 |
:date_long |
27. Januar 2023 |
:date_medium |
27.01.2023 |
:date_short |
27.01.23 |
:time_full |
23:44:58 Nordamerikanische Westküsten-Normalzeit |
:time_long |
23:44:58 PST |
:time_medium |
23:44:58 |
:time_short |
23:44 |