[英]How to get time zone in php by passing country code or country name
我有国家代码和国家名称使用一些api,有没有办法在PHP中获取给定国家代码和国家名称的时区。 我有这样的数据,
address:Object
city:"-"
continent:"Asia"
continent_code:"AS"
country:"India"
country_code:"IN"
我得到这个数据,我想得到给定地址的时区,有没有办法在PHP。
提前致谢
如果您不想安装PECL库。
您可以使用DateTimeZone:
$timezone = \\DateTimeZone::listIdentifiers(\\DateTimeZone::PER_COUNTRY, $countryCode);
PHP有一个使用GeoIP的功能。
geoip_time_zone_by_country_and_region()
函数将返回与国家和地区代码组合相对应的时区。
$timezone = geoip_time_zone_by_country_and_region('CA', 'QC');
if ($timezone) {
echo 'Time zone for CA/QC is: ' . $timezone;
}
http://php.net/manual/en/function.geoip-time-zone-by-country-and-region.php
您需要下载并包含GeoIP库http://geolite.maxmind.com/download/geoip/database/GeoIPCountryCSV.zip
如果您只有国家/地区名称信息,则可能无法反向查找所有时区。
例如,美国有5个不同的时区。 这是一对多的关系。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.