PHP はどのようにロケール GMT 日時表示を次のように取得しますか:
14/06/2013 10:38 (GMT+8)
現在、私のサイトには、次のような日時を表示するためのこの形式があります。
14/06/2013 07:01:14 AM GMT+0400
私のホスティング サービス プロバイダーはヨーロッパにあります。ユーザーが私のウェブサイトを日本 (+9:00) で閲覧すると、どのように表示され14/06/2013 10:38 (GMT+9)
ますか?
タイムゾーンの問題は、サーバーがユーザーの場所を特定する信頼できる方法がないことです。ブラウザでさえ、これを判断する信頼できる方法はありませんが、推測する方が適切です。本質的に未知のサーバー時間に対処しなければならない場合、問題はさらに悪化します。
したがって、サーバー側では、すべての日付と時刻を UTC に変換してください。すべてのサーバー操作を UTC で実行します。
ユーザーに時刻を表示するときは、ユーザーのローカル タイム ゾーンに変換するか (ユーザーに尋ねることでわかります)、時刻を UTC でブラウザーに送信してブラウザーに変換を行わせるか、ブラウザーを取得します。最初にサイトに接続したときにタイムゾーンを提供し、その情報を使用して出力時間を変換します。
これらのうち、最初のオプションが最も信頼性が高いですが、サイトに受け入れられない可能性があります。オプション 2 と 3 は、ユーザーがブラウザーに対してローカルに設定した構成データに依存します。