time.AsTime

概覽

Hugo 提供了用於格式化、在地化、解析、比較及操作日期/時間值的函式方法。在對日期/時間值的字串表示進行任何操作之前,您必須先使用 time.AsTime 函式將它們轉換為 time.Time 值。

{{ $t := "2023-10-15T13:18:50-07:00" }}
{{ time.AsTime $t }} → 2023-10-15 13:18:50 -0700 PDT (time.Time)

可解析的字串

如上所示,第一個參數必須是可解析的日期/時間值字串表示。例如:

格式 時區
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,或提供第二個參數給 time.AsTime 函式。例如:

{{ time.AsTime "15 Oct 2023" "America/Los_Angeles" }}

有效的時區列表可能取決於系統,但應包括 UTCLocalIANA 時區資料庫 中的任何位置。

決定時區的優先順序如下:

  1. 日期/時間字串中的時區偏移
  2. 作為第二個參數提供給 time.AsTime 函式的時區
  3. 在站點設定中指定的時區
  4. Etc/UTC 時區