4

たとえば、
私は米国からの IP アドレスを持っています。
私はこの機能を使用しています:

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

場所を取得します。
私は配列を取得しています:

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

必要な場所を IP アドレスから知るにはどうすればよいですか?

ありがとう、

4

1 に答える 1

2

残念ながら、特に共有ホスティングを使用している場合、IPアドレスでタイムゾーンを把握する簡単な方法はありません。

ただし、GeoIP拡張機能をインストールできる場合は、次のように機能させることができます。

$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
于 2012-07-30T07:43:01.303 に答える