有人知道如何通过客户端IP获取奥尔森区域信息吗?我尝试了一些免费的IP服务,但他们返回的是“纽约”而不是“美国/纽约”。
发布于 2013-09-02 17:20:11
你需要把它分成两个步骤。
有许多服务可以从纬度和经度坐标获取IANA/Olson时区标识符。请参阅:如何使用纬度和经度坐标从某个位置获取时区?
要获得纬度和经度,您应该尽量不依赖IP地理定位。许多网络浏览器运行在能够报告其真实坐标的实际设备上,例如在移动电话上。如果有必要,您可以回到IP地理位置,并且有许多服务尝试这样做。
IP地理定位的问题是,您没有得到保证的准确性。许多人通过代理服务器、VPN或其他机制访问互联网,在这些机制中,您正在查找的IP实际上可能与其位置无关。
发布于 2013-09-02 12:34:40
试试geoip (http://www.maxmind.com/),它不是免费的,但是工作正常,而且数据库经常更新。然后,您可以从客户端ip按国家和地区从com.maxmind.geoip.timeZone获取时区信息。
String timeZoneByCountryAndRegion(String country, String region)https://stackoverflow.com/questions/18572708
复制相似问题