给定一个时区,例如 EDT 或 CEST,有没有办法获得time.Location
参考使用它func (t Time) In(loc *Location) Time
?
可以初始化例如位置。中欧夏令时time.LoadLocation("Europe/Berlin")
但如何对实际时区符号做同样的事情呢?
鉴于@Svip 的非常有见地的评论,是否有任何明智的方法来返回代表性位置列表?那是为了WET
返回例如[Europe/London, Atlantik/Reykjavík]
。所有其他WET
地点将遵循与这两个地点之一相同的时区安排。
存在一个包github.com/tkuchiki/go-timezone它提供区域缩写和位置之间的映射。见其时区.go.
然而,正如评论者还指出的那样,缩写的时区名称不明确,最好完全避免用户输入此类名称。正如其他问题中提到的(为什么 Go 的 time.Parse() 不解析时区标识符? and 如何正确解析时区代码),在解析时间时,当缩写时区与运行代码的机器的本地时区匹配时,Go 会正确解析缩写时区,并且UTC
时区。根据我的经验,所有其他的都没有被正确解析。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)