2010-05-04 46 views
4

我希望得到客戶的時區從他的IP地址偏移我的web應用程序所抵消。我一直在使用的Javascript getTimeZone獲取功能試過了,但是,有些客戶有自己的時區或時間設置不正確。我想要獲得偏移量並根據其時區向客戶端返回一些信息。如何獲得客戶的時區從他的IP地址

感謝您抽出時間來閱讀的問題。我也開放替代方法。

問候, Vamyip

回答

3

如果你可以調用Web服務,你可能想嘗試ipinfodb.com。例如:

http://ipinfodb.com/ip_query.php?ip=69.59.196.211&timezone=true

回報:

<Response> <Ip>69.59.196.211</Ip> <Status>OK</Status> <CountryCode>US</CountryCode> <CountryName>United States</CountryName> <RegionCode>41</RegionCode> <RegionName>Oregon</RegionName> <City>Corvallis</City> <ZipPostalCode>97333</ZipPostalCode> <Latitude>44.4698</Latitude> <Longitude>-123.343</Longitude> <TimezoneName>America/Los_Angeles</TimezoneName> <Gmtoffset>-25200</Gmtoffset> <Isdst>1</Isdst> </Response> 

較快的選擇是使用免費的MaxMind Geolite city。如果它不夠好,你顯然可以升級到更準確的付費版本。我不能說付費版本的質量,因爲我從來沒有使用它。您可以在同一數據庫的download the file binary blob version,然後用the C# class進行查詢。

+1

ipinfodb.com不再做TimezoneName,只是偏移量。 – 2012-04-04 11:57:51

+0

此外,ipinfodb將查詢速率限制爲2 /秒,這在多個小流量網站中是不夠的。請參閱 「查詢限制」[這裏](http://ipinfodb.com/ip_location_api.php) – 2012-06-01 13:31:48

-3

谷歌的地理位置IP「

有您可以通過公司電提供的API。有些是免費的,有些則不是。