国ごとに GMT タイムベースを表示したい。たとえば、インドのユーザーがアプリケーションに登録すると、GMT 時刻を GMT +5 としてデータベースに追加する必要があります。フランスの他のユーザーが私のアプリケーションに登録すると、GMT 時刻を GMT +1 としてデータベースに追加する必要があります。
質問する
1810 次
2 に答える
1
PHP で実行する場合は、ジオロケーションが必要です。自作の方法と API の方法の 2 つの方法があります。希望する解像度に応じて、状況が異なる場合があります。これは魔法のようにプロキシを検出しないことに注意してください。トレードオフは、効率とハウスキーピングの間にあります。
自作
ジオロケーション DB を取得し、国を取得する IP サブセットをクエリします。国のタイムゾーンのリストを保持します。それは面倒なので、コードを提供するつもりはありません。
API
これは簡単です:
<?php
$geoloc = file_get_contents("http://api.ipinfodb.com/v3/ip-city/?format=json&key=<API KEY>&ip=".$_SERVER['REMOTE_ADDR']);
if ($geoloc && ($r = json_decode($geoloc)) !== false) {
// Your timezone is in $r->timeZone in the format "+/-i:ii"
}
?>
次のアドレスで取得できる ipinfodb の API キーが必要です: http://ipinfodb.com/register.php
于 2013-04-22T10:54:53.987 に答える