从IP地址查找时区
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从IP地址查找时区相关的知识,希望对你有一定的参考价值。
当我拥有的是他们的IP地址时,有没有办法找到用户所在的时区?我正在寻找我需要应用于服务器时间的时间偏移量,以便找到用户位置的时间。
答案
您需要尝试确定位置(远非100%准确)。请参阅this question关于这样做。
请参阅this question关于将邮政编码翻译成时区(尽管如此,这不是100%的傻瓜证明)。
简短的版本是:它很复杂。您必须使用第三方服务来维护位置的IP掩码数据库,然后使用其中确定的位置来确定时区。
让客户端在连接时简单地发送时区(或UTC偏移量)更可靠。
如果这是一个Web应用程序,请参阅one more question关于使用javascript来确定客户端时区。
另一答案
MaxMind提供了一个可以购买的数据库,可以帮助您完成任务:http://www.maxmind.com/app/city
另一答案
ip2nation提供了一个SQL数据库,您可以查询该数据库以对IP地址进行地理定位: http://www.ip2nation.com/ip2nation/Download
使用国家/地区代码,您可以通过查询其他数据库或库来检索国家/地区的时区。
另一答案
您可以使用ipapi.co从IP地址获取用户的时区和UTC偏移量:
https://ipapi.co/8.8.8.8/timezone
> America/Los_Angeles
https://ipapi.co/8.8.8.8/utc_offset
> -0800
另一答案
使用restSharp.org和我的服务ipdata.co
var client = new RestClient("https://api.ipdata.co?api-key=test");
var request = new RestRequest("1.1.1.1", Method.GET);
request.AddHeader("Content-Type", "application/json");
IRestResponse response = client.Execute(request);
var content = response.Content; // raw content as string
RestResponse<Ip> response2 = client.Execute<Ip>(request);
var time_zone = response2.Data.time_zone;
以上是关于从IP地址查找时区的主要内容,如果未能解决你的问题,请参考以下文章