Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在美国如何通过IP地址获取时区?_Php - Fatal编程技术网

Php 在美国如何通过IP地址获取时区?

Php 在美国如何通过IP地址获取时区?,php,Php,例如, 我有我们的IP地址。 我正在使用这个函数: $timeZone = DateTimeZone::listIdentifiers(DateTimeZone::PER_COUNTRY, "US"); 获取位置。 我得到一个数组: 0 => string 'America/Adak' 1 => string 'America/Anchorage' 2 => string 'America/Boise' 如何从IP地址知道我需要的位置 谢谢,不幸的是,没有简

例如,
我有我们的IP地址。
我正在使用这个函数:

$timeZone = DateTimeZone::listIdentifiers(DateTimeZone::PER_COUNTRY, "US");
获取位置。
我得到一个数组:

0 => string 'America/Adak'   
1 => string 'America/Anchorage'  
2 => string 'America/Boise'   
如何从IP地址知道我需要的位置


谢谢,

不幸的是,没有简单的方法可以通过ip地址来计算时区,特别是当您使用共享主机时

但是,如果您可以安装,您可以使其工作如下:

$region = geoip_region_by_name($_SERVER['REMOTE_ADDR']);
$timezone = geoip_time_zone_by_country_and_region($region['country_code'], $region['region']);
阅读更多关于:


  • 您使用什么API将IP地址转换为位置?