如何转换Go中的时区?

时间:2015-06-25 03:28:45

标签: go timezone

例如time.Now()的时区为UTC。

utcNow := time.Now()
fmt.Println(utcNow)

输出

2009-11-10 23:00:00 +0000 UTC

如何将此时间转换为日本标准时间?

1 个答案:

答案 0 :(得分:3)

看起来你正在Go操场上运行它,这就是为什么时间自动设置为UTC(它也始终设置为2009年11月启动程序时)。

如果您在自己的计算机上运行time.Now(),它应该选择本地区域。或者,如果要强制时间在特定时区,可以使用time.Location对象和time.Time.In函数。

l, err := time.LoadLocation("Asia/Tokyo") // Look up a location by it's IANA name.
if err != nil {
    panic(err) // You can handle this gracefully.
}
fmt.Println(utcNow.In(l))

请注意,它仍然显示相同的时刻,但现在有JST的偏移。

有关更多信息,请查看时间包的go文档。 http://golang.org/pkg/time