格式化
Syntax
TIME.Format LAYOUT
Returns
string
{{ $t := "2023-01-27T23:44:58-08:00" }}
{{ $t = time.AsTime $t }}
{{ $format := "2 Jan 2006" }}
{{ $t.Format $format }} → 27 Jan 2023
使用 Format
方法处理任何 time.Time
值,包括四个预定义的前置内容日期:
{{ $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" |
上午/下午标记 | "PM" |
时区偏移量 | "-0700" "-07:00" "-07" "-070000" "-07:00:00" |
将布局字符串中的符号替换为 Z,以便为 UTC 时区打印 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
。
示例
给定以下前置内容:
---
date: 2023-01-27T23:44:58-08:00
title: 关于时间
---
+++
date = 2023-01-27T23:44:58-08:00
title = '关于时间'
+++
{
"date": "2023-01-27T23:44:58-08:00",
"title": "关于时间"
}
以下示例在 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