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 |