2012-02-23 21 views
1

SQLデータベースから取得したPHPページで時間のリストを取得しました。クライアントの時刻に固定された(MySQLの)時刻

私がしたいのは、クライアントが世界のどこにいるかにかかわらず、クライアントとサーバーの時間のずれに応じて時間が変化することだけです。

世界のクライアントの地位は、彼が見ている時間に影響を与えます。

+0

例を挙げてください。 – dynamic

答えて

0

時間をユーザーのタイムゾーンに表示するには、彼女がどのタイムゾーンにいるかを知る必要があります。たとえば、オプション/設定で設定します。

この時間は「ローカルタイム」と呼ばれることがあります。

次に、データベース内の値を保存したタイムゾーンを知る必要があります。しばしばUTCが選択され、それは「ズールー時間」です。

データベース(zulu)から時刻を取得する場合は、ユーザーの設定(ローカル)に従ってタイムゾーンを変換します。以上です。

0
  1. 使用彼のIP(geoip_record_by_name()、その後geoip_time_zone_by_country_and_region())を使用して、クライアントのタイムゾーンを識別するためのジオIPモジュールを参照してください。
  2. date_default_timezone_set()を使用して、PHPスクリプトのタイムゾーンを設定します。日付関数を正しいタイムゾーンに変換しますが、MySQLのUNIX TIMESTAMPとして日付を取得する必要があります(これはSELECT UNIX_TIMESTAMP(date) FROM tableで簡単に実行できます)。
  3. オプションで、MySQLのTIMESTAMPタイプを見て、その場で変換を実行するように指示できます(クエリを実行する前にSET time_zone = [timezone]を実行してください)。しかし、これにはいくつかのサーバー構成が必要です。
関連する問題