time

time.AsTime

把日期/时间值的给定字符串表示返回为 time.Time 值。

签名
time.AsTime INPUT [TIMEZONE]
返回类型
time.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 时区数据库中的任何位置。

确定时区时的优先级顺序为:

  1. 日期/时间字符串中的时区偏移
  2. 传给 time.AsTime 函数的第二个参数所指定的时区
  3. 项目配置中指定的时区
  4. Etc/UTC 时区