关于如何根据经纬度获得时区,有一个很好的answer。 然而,有我注意到作为如何从DateTime,Latitude和Longitude(无外部API)获取时区?
一件事的答案评论是缺乏任何UTC时间戳的要求确定的时间段时 。例如,伦敦一长/纬是 还不足以确定天气时区是GMT或BST(英国 夏令时/夏令时)。所以一定要确定你需要lat,long和UTC时间戳的正确的 时区。
此外,还有一个wiki,其中谈到那Java有它的时区自己的数据库,这是在甲骨文记载website
我想知道的是给予UTC Datetime
,Latitude
和Longitude
,是有办法利用Java的时区数据库来获取时区而不是进行API调用?
任何资源/例子?
我看不出如何。时区数据库包含有关所有时区的UTC偏移量和DST规则的规则。但是这个星球上的哪个点是由哪个时区不在数据库AFAIK中决定的,并且可以基于政治决策等而改变。 –
因此获得这些信息的唯一方法是依赖外部Web服务,如提到的那些服务有问题的链接? – daydreamer
不,我猜你可以找到(或创建)地理定位时区数据库并将其嵌入到应用程序中。但就像时区数据库一样,它必须定期更新才能保持正确。比如说,明天叙利亚或伊拉克分裂为三个不同的国家。你不能说出这三个新国家的政府会选择采用哪个时区。 –