我有一份城市,州/省和国家列表,我需要轻松找到各自的时区.具体来说,我需要知道他们映射到哪个Windows TimeZone.到目前为止,这是一个艰难的过程,因为没有简单的方法可以将城市传递给某个东西并获得时区(时区是一个偏移量,时区是否支持夏令时).
目前的流程是使用http://www.batchgeocode.com获取城市的纬度/经度(真正称为雅虎服务),然后拨打http://www.EarthTools.org获取时区信函,映射到偏移量.问题是雅虎服务有时会返回不良的经度/纬度,而earthtools.org对DST信息知之甚少,因此映射到正确的TimeZone Id是一个繁琐的手动过程.
我不能成为第一个做到这一点的人 - 有没有人知道更好的方法,或者有哪些列表有我需要的信息?
谢谢.
我想在我的android程序中显示时区的"名称".如果是"格林尼治标准时间+8:00",则显示"香港"; 通过搜索,我发现getDisplayName函数应该切断我的目的.
但是,在我自己的程序中,此功能仅显示"GMT + 8:00",但当我在Google开源项目中使用"getDisplayName"时,它将显示名称"HongKong".
有谁知道这背后的原因?
例如,我有一个java TimeZone对象America/Denver.理论上,IANA数据库列出了该TimeZone的一个国家代码,即US.
在java或Android中,如何获取指定TimeZone对象的国家/地区?
更新:请注意,我不是在谈论映射GMT+0700到特定国家/地区.显然,可能有多个国家/地区映射到单个原始偏移量.我正在讨论将特定时区代码从https://en.wikipedia.org/wiki/Zone.tab映射到其关联的单一国家/地区代码.