time.AsTime
Syntax
time.AsTime 输入 [时区]
Returns
time.Time
Alias
time
概述
Hugo提供了函数和方法,用于格式化、本地化、解析、比较和操作日期/时间值。在使用日期/时间值的字符串表示形式进行任何操作之前,您必须首先使用time.AsTime
函数将它们转换为time.Time
值。
{{ $t := "2023-10-15T14:20:28-07:00" }}
{{ time.AsTime $t }} → 2023-10-15 14:20:28 -0700 PDT (time.Time)
可解析的字符串
如上所示,第一个参数必须是可解析的日期/时间值的字符串表示形式。例如:
字符串表示 | 时区 |
---|---|
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(协调世界时)。
时区
当可解析的字符串不包含时区偏移时,您可以通过以下两种方式之一分配一个时区,而不是使用Etc/UTC:
-
为
time.AsTime
函数提供第二个参数{{ time.AsTime "15 Oct 2023" "America/Chicago" }}
-
在您的网站配置中设置默认时区
hugo.timeZone: America/New_York
timeZone = 'America/New_York'
{ "timeZone": "America/New_York" }
确定时区的优先次序为:
- 日期/时间字符串中的时区偏移
- 作为
time.AsTime
函数的第二个参数提供的时区 - 在您的网站配置中指定的时区
有效的时区列表可能依赖于系统,但应包括UTC
、Local
或IANA时区数据库中的任何位置。