(PECL geoip >= 1.0.4)
geoip_time_zone_by_country_and_region — 国コードと地域コードからタイムゾーンを返す
geoip_time_zone_by_country_and_region() 関数は、 国コードと地域コードの組み合わせに対応するタイムゾーンを返します。
アメリカの場合、地域コードは各州の名前を二文字で略したものとなります。 カナダの場合、地域コードは Canada Post による二文字の州コードに対応します。
それ以外の場所では、GeoIP は FIPS 10-4 コードを用いて地域を表します。 FIPS 10-4 コードの詳細な一覧は » http://www.maxmind.com/app/fips10_4 で確認できます。
この関数は、GeoIP Library バージョン 1.4.1 以降を使っている場合に使用可能です。 データは直接 GeoIP Library から受け取り、データベースは使用しません。
country_code
二文字の国コード (geoip_country_code_by_name() を参照ください)。
region_code
二文字 (あるいは二桁) の地域コード (geoip_region_by_name() を参照ください)。
成功した場合はタイムゾーン、国コードと地域コードの組に対応するタイムゾーンが見つからなかった場合は
false
を返します。
例1 US/Canada の地域コードを使用した geoip_time_zone_by_country_and_region() の例
これは、国 CA (カナダ)、地域 QC (ケベック) に対応するタイムゾーンを表示します。
<?php
$timezone = geoip_time_zone_by_country_and_region('CA', 'QC');
if ($timezone) {
echo 'Time zone for CA/QC is: ' . $timezone;
}
?>
上の例の出力は以下となります。
Time zone for CA/QC is: America/Montreal
例2 FIPS コードを使用した geoip_time_zone_by_country_and_region() の例
これは、国 JP (日本)、地域 01 に対応するタイムゾーンを表示します。
<?php
$timezone = geoip_time_zone_by_country_and_region('JP', '01');
if ($timezone) {
echo 'Time zone for JP/01 is: ' . $timezone;
}
?>
上の例の出力は以下となります。
Time zone for JP/01 is: Asia/Tokyo