【发布时间】:2018-03-03 13:59:20
【问题描述】:
给定一个时区,例如 EDT 或 CEST,有没有办法获得 time.Location 引用以将其与 func (t Time) In(loc *Location) Time 一起使用?
可以初始化位置,例如CEST 与 time.LoadLocation("Europe/Berlin") 但如何对实际时区表示法做同样的事情?
鉴于@Svip 非常有见地的评论,是否有任何明智的方法来返回代表位置列表?那是为了WET 返回例如[Europe/London, Atlantik/Reykjavík]。所有其他 WET 位置将遵循与这两个位置之一相同的时区安排。
【问题讨论】:
-
这是有问题的。假设我输入“WET”,西欧时间,那么结果应该是什么?伦敦?但是,虽然英国、爱尔兰和葡萄牙遵守夏令时,但同样在 WET 中的冰岛却没有。因此,如果冰岛开发人员使用 WET 来记录时间,则导致伦敦会出现问题。 MST 也有同样的问题,因为亚利桑那州的大部分地区不遵守夏令时。
-
很公平。相应地改变我的问题。任何进一步的见解?
-
这些时区缩写are ambiguous,这就是标准库中不支持它们的原因。例如,IST 可以表示任何爱尔兰/印度/以色列标准时间。