簡體   English   中英

如何通過美國的IP地址獲取時區?

[英]How can i get timezone by IP address in US?

例如
我有一個來自美國的IP地址。
我正在使用此功能:

$timeZone = DateTimeZone::listIdentifiers(DateTimeZone::PER_COUNTRY, "US");

獲取位置。
我得到一個數組:

0 => string 'America/Adak'   
1 => string 'America/Anchorage'  
2 => string 'America/Boise'   

如何從IP地址知道我需要的位置?

謝謝,

不幸的是,沒有簡單的方法可以通過ip地址找出時區,特別是如果您使用共享主機。

但是,如果您可以安裝GeoIP extension ,則可以使它像這樣工作:

$region = geoip_region_by_name($_SERVER['REMOTE_ADDR']);
$timezone = geoip_time_zone_by_country_and_region($region['country_code'], $region['region']);

進一步了解:

  1. geoip_time_zone_by_country_and_region
  2. geoip_region_by_name

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM