从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地址查找时区的主要内容,如果未能解决你的问题,请参考以下文章

如何从给定子网中查找第一个和最后一个 IP 地址?

从用户 ip 地址查找位置和区域

如何查找用户的IP地址

如何通过PHP中的IP地址获取时区[重复]

Java如何从IP地址查找主机名?

从IP地址查找天气预报