2

UTCからのタイムゾーンオフセットと国/地域情報の「最良の推測」を決定するためにIPルックアップを実行しています。

したがって、たとえば、オフセット-3と国ブラジルがあります。

同じオフセットでランダムなタイムゾーンの代わりにBRTを表示したい、つまりART

この情報で適切なタイムゾーンを設定できるようにするためのPHPの組み込みの方法はありますか?

そうでない場合、これを行う最も簡単な方法は何でしょうか?(外部API呼び出しを行うことができないと仮定します)

独自のデータベーステーブルを作成する場合、それを最新の状態に保つにはどうすればよいですか?

ありがとう!

4

3 に答える 3

1

独自のデータベースを展開する必要はありません。これはGeoNamesのデータベースです。PHP からすべてのタイムゾーン情報を取得することもできます。

于 2013-01-29T18:38:13.510 に答える
1

このPHP関数は、オフセットを含むすべての既存のタイムゾーンの配列を返します。探しているものとは正確には異なりますが、役立つかもしれません:

function time_zonelist(){
    $return = array();
    $timezone_identifiers_list = timezone_identifiers_list();
    foreach($timezone_identifiers_list as $timezone_identifier){
        $date_time_zone = new DateTimeZone($timezone_identifier);
        $date_time = new DateTime('now', $date_time_zone);
        $hours = floor($date_time_zone->getOffset($date_time) / 3600);
        $mins = floor(($date_time_zone->getOffset($date_time) - ($hours*3600)) / 60);
        $hours = 'GMT' . ($hours < 0 ? $hours : '+'.$hours);
        $mins = ($mins > 0 ? $mins : '0'.$mins);
        $text = str_replace("_"," ",$timezone_identifier);
        $return[$timezone_identifier] = $text.' ('.$hours.':'.$mins.')';
    }
    return $return;
}
于 2016-03-23T12:47:27.900 に答える