【发布时间】:2015-01-16 19:47:53
【问题描述】:
我需要获取不同时区的当前时间。
目前我知道我们可以做到以下几点:
t := time.Now()
fmt.Println("Location:", t.Location(), ":Time:", t)
utc, err := time.LoadLocation("America/New_York")
if err != nil {
fmt.Println("err: ", err.Error())
}
fmt.Println("Location:", utc, ":Time:", t.In(utc))
LoadLocation 名称被视为与 IANA 时区数据库中的文件相对应的位置名称,例如“America/New_York”。
如果给出了国家名称或 GMT 偏移量,例如印度 +530,是否有更简单的方法来获取当前时间?
编辑:我也想支持夏令时。
【问题讨论】:
-
虽然在某些情况下使用固定偏移量是合适的,但通常最好使用
Continent/City。时区和夏令时规则是政治性的和变化的。使用Continent/City将允许您的应用程序在基础 IANA 时区数据库更新时适应这些更改。它还会为您处理夏令时。
标签: go