time.Format
Syntax
time.Format LAYOUT INPUT
Returns
string
Alias
dateFormat
使用 time.Format 函数和 time.Time 值:
{{ $t := time.AsTime "2023-02-27T23:44:58-08:00" }}
{{ time.Format "2 Jan 2006" $t }} → 27 Feb 2023
或者使用 time.Format 和可解析的日期/时间值的字符串表示形式:
{{ $t := "27 Feb 2023" }}
{{ time.Format "January 2, 2006" $t }} → February 27, 2023
可解析的日期时间字符串示例:
| 字符串表示 | 时区 | 
|---|---|
| 2023-10-15T14:20:28-07:00 | 美国/洛杉矶 | 
| 2023-10-15T13:18:50-0700 | 美国/洛杉矶 | 
| 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(协调世界时)。
布局字符串
根据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" | 
| 上午/下午标记 | "PM" | 
| 时区偏移量 | "-0700" "-07:00" "-07" "-070000" "-07:00:00" | 
在布局字符串中,将符号替换为Z,以打印Z而不是UTC区的偏移量。
| 描述 | 有效组件 | 
|---|---|
| 时区偏移量 | "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:
| Token | 结果 | 
|---|---|
| :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:
| Token | 结果 | 
|---|---|
| :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 |