2011-04-29 37 views
1

目前我一直在使用http://www.geoiptool.com/,但我无法获得当地时间。我不知道该怎么做,以获得当地时间。IP到位置+当地时间?

有人可以帮助我,显示位置+当地时间?我有一个邮件应用程序,我尝试在位置+当地时间显示IP。

+0

此工具提供哪些数据?你有位置(国家,地区)还是坐标?它给你的时区? – prodigitalson 2011-04-29 05:40:17

回答

3

嗯,这不是你的问题的真正答案,但可以帮助你正确理解这种方法有多不准确。

请阅读此答案作为旁注。

是的,可以为用户提供或设置位置/时间。但是你也应该为他们提供国家/时间选择器。一些IP无法正确解决(匿名代理,从其他国家(我的情况)借用的IP,大陆IP(如欧洲组,“亚洲”等)可能是错误的

当我试图从ipLocator我geobytes.com已经得到了这一点:

enter image description here

我的IP地址已经被解析为:

  • 位置:罗马尼亚
  • 时间偏移:+0200(目前DST是有效,因此它的+0300

真正的问题是,我的位置Romania,和我的时间偏移+0100/+0200

看这样的画面:

enter image description here

红色箭头显示了我真正的位置。黑匣子中的信息显示我的真实位置的正确值。那么,错误的位置对于用户来说不是这么大的问题,而错误的本地时间是非常烦人的事情。

是的,我知道,这不是你要找的。但是,您不应该修复用户位置和/或当地时间,因为这可能是错误的方法。 IPv4地址当然不是准确的获取关于用户的真实信息。

此外,我发现ipLocator不遵循DST规则,并且使用该时间偏移量(图像#1)将在夏季显示错误的当地时间(针对考虑DST的国家/地区/省份)。

+0

哇你把很多工作都放到这个答案上谢谢你的信息。 – Kyle 2011-04-29 10:54:22

+0

@凯尔,不是真的。这只是两个屏幕截图和几个文本行(几分钟的时间)。不过,我已经投票提出你的问题,以获得更多的社区关注。 – Wh1T3h4Ck5 2011-04-29 11:15:28

+1

所以你会得到横幅广告“在布加勒斯特见到当地的女孩”? :) http://xkcd.com/713/ – russau 2011-04-29 22:31:45

3

Geobytes会给你补偿:

http://www.geobytes.com/IpLocator.htm?GetLocation&IpAddress=64.34.119.12

或XML格式(可能需要查看源代码,看看它):

http://www.geobytes.com/IpLocator.htm?GetLocation&template=php3.txt&IpAddress=64.34.119.12

这会给你偏移量,只需将偏移量加/减去GMT/UTC。

+0

仅仅因为我在前些天发现了这个,并且对自由许可和成本感到非常兴奋:http://simplegeo.com你可能想要使用Context api来做这件事。 – prodigitalson 2011-04-29 05:46:07

+0

simplegeo.com看起来不错 – russau 2011-04-29 05:55:16

+0

是的,我唯一感到失望的是它创建的PHP库依赖于一些PEAR包。对我来说,这是无意义的,因为通常在Symfony或Zend PRoject中,以及两者之间已经有1或2个实现相同功能的库(sfWebBrowser,Zend_Http_Client/Zend_Oauth_Client,Zend_Uri)。所以我不得不花费大约一个小时左右的时间来改变Zend。没什么大不了的......只是烦人:-) – prodigitalson 2011-04-29 08:12:33