【发布时间】:2011-08-16 20:00:17
【问题描述】:
在一个网络应用程序中,我让人们输入他们的地址,然后我使用 Google 的地理编码 API 来获取他们的纬度和经度。接下来,我想使用这些坐标获取他们的 Windows 时区名称,以便我可以通过 .Net TimeZoneInfo 对象正确处理 夏令时。
我使用了几个可用的时区网络服务来获取时区名称,例如:
问题在于,这些都只返回与 GMT 的偏移量,或 TZID(又名 Olson)时区名称,不是 Windows 时区名称。
以下链接中有一个列表翻译从 Windows 到 TZID 名称,但不是相反的方向,因为缺少许多 TZID 名称。例如,如果我从第一步获得的 TZID 是“Africa/Lusaka”,那么该表将找不到等效的 Windows 时区名称。
- Windows -> TZID: http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/zone_tzid.html
- TZID -> Windows: ???
所以我的问题是,有没有人知道可以通过纬度/经度返回 Windows 时区名称的服务,或者是否有完整的列表或翻译服务在两种命名格式之间进行转换?
注意:我在这里查看了所有类似的问题,但没有一个完全解决了这个问题。
【问题讨论】:
标签: .net geolocation timezone