1 概念
https://archlake.net/zh/time-zone-concept.html
2 经纬度换时区
给定经纬度
得出时区名称
和具体时区UTC偏移量
2.1 经纬度
到时区ID
的转换
如:
(42.7235, -73.6931) —-> America/New_York [Location Name]
由 http://efele.net/maps/tz/ (不再维护),https://github.com/evansiroky/timezone-boundary-builder 提供经纬度
到时区ID
的转换数据(由于不同国家政治策略的变动,这个数据经常更新)
各语言的库 https://github.com/evansiroky/timezone-boundary-builder#lookup-libraries
2.2 时区ID
到具体夏令时偏移量
的转换
如:
America/New_York + 2016年12月26日 –> UTC - 5:00
America/New_York + 2016年10月26日 –> UTC - 4:00
由 http://www.iana.org/time-zones 提供时区ID
到具体夏令时偏移量
的转换数据(由于不同国家政治策略的变动,这个数据经常更新)(有golang标准库)
https://www.iana.org/time-zones/repository/tz-link.html
https://www.iana.org/time-zones/repository/releases/tzdb-2017b.tar.lz
https://golang.org/pkg/time/#LoadLocation
https://github.com/golang/go/tree/release-branch.go1.4/lib/time (golang标准库)
1 | package main |