1

国ごとに GMT タイムベースを表示したい。たとえば、インドのユーザーがアプリケーションに登録すると、GMT 時刻を GMT +5 としてデータベースに追加する必要があります。フランスの他のユーザーが私のアプリケーションに登録すると、GMT 時刻を GMT +1 としてデータベースに追加する必要があります。

4

2 に答える 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 に答える