我想知道某位置与UTC的偏差何时会发生变化。我看到time package知道此信息,显然或者它无法解释夏令时。这样我就可以找到位置" America / New_York"夏令时开始于2018年3月11日星期日07:00 UTC。
有没有办法做我自己的时间包副本,导出Location属性或为时区文件编写自己的解析器?
答案 0 :(得分:2)
正如您在消息来源中看到的那样,不,该信息不会被曝光。但是,您也可以从源代码中看到,用于生成时区的原始TZDB包含在Go分发中:
//go:generate env ZONEINFO=$GOROOT/lib/time/zoneinfo.zip go run genzabbrs.go -output zoneinfo_abbrs_windows.go
如果您查看$GOROOT/lib/time
,您将找到该文件,其中包含用于生成时区列表的所有数据,您可以查看$GOROOT/src/time/genzabbrs.go
以了解如何它被使用了。