time.AsTime
把日期/时间值的给定字符串表示返回为 time.Time 值。
概述
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" }}有效时区列表可能因系统而异,但应当包含 UTC、Local,或 IANA 时区数据库中的任何位置。
确定时区时的优先级顺序为:
- 日期/时间字符串中的时区偏移
- 传给
time.AsTime函数的第二个参数所指定的时区 - 项目配置中指定的时区
Etc/UTC时区