Format

{{ $t := "2023-01-27T23:44:58-08:00" }}
{{ $t = time.AsTime $t }}
{{ $format := "2 Jan 2006" }}

{{ $t.Format $format }} → 27 Jan 2023

可對任何 time.Time 值使用 Format 方法,包括以下四個預設的前置資料日期:

{{ $format := "2 Jan 2006" }}

{{ .Date.Format $format }}
{{ .PublishDate.Format $format }}
{{ .ExpiryDate.Format $format }}
{{ .Lastmod.Format $format }}

樣板字串

根據 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 

像是 PSTCET 這些並不是時區,它們是時區 簡稱

像是 -07:00+01:00 這些並不是時區,它們是時區 偏移

時區是一個具有相同當地時間的地理區域。例如,時區用 PSTPDT(取決於日光節約時間)縮寫的是 America/Los_Angeles

範例

給定以下前置資料:

     
---
date: 2023-01-27T23:44:58-08:00
title: About time
---
+++
date = 2023-01-27T23:44:58-08:00
title = 'About time'
+++
{
   "date": "2023-01-27T23:44:58-08:00",
   "title": "About time"
}

以下範例是在 America/Los_Angeles 時區渲染的:

格式字串 結果
Monday, January 2, 2006 Friday, January 27, 2023
Mon Jan 2 2006 Fri Jan 27 2023
January 2006 January 2023
2006-01-02 2023-01-27
Monday Friday
02 Jan 06 15:04 MST 27 Jan 23 23:44 PST
Mon, 02 Jan 2006 15:04:05 MST Fri, 27 Jan 2023 23:44:58 PST
Mon, 02 Jan 2006 15:04:05 -0700 Fri, 27 Jan 2023 23:44:58 -0800

UTC 與本地時間

可將任意 time.Time 值轉換並格式化為協調世界時(UTC)或本地時間。

{{ $t := "2023-01-27T23:44:58-08:00" }}
{{ $t = time.AsTime $t }}
{{ $format := "2 Jan 2006 3:04:05 PM MST" }}

{{ $t.UTC.Format $format }} → 28 Jan 2023 7:44:58 AM UTC
{{ $t.Local.Format $format }} → 27 Jan 2023 11:44:58 PM PST

序數表示法

使用 humanize 函數將日期中的日數以序數格式呈現:

{{ $t := "2023-01-27T23:44:58-08:00" }}
{{ $t = time.AsTime $t }}

{{ humanize $t.Day }} of {{ $t.Format "January 2006" }} → 27th of January 2023