0

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)ますか?

4

1 に答える 1

3

タイムゾーンの問題は、サーバーがユーザーの場所を特定する信頼できる方法がないことです。ブラウザでさえ、これを判断する信頼できる方法はありませんが、推測する方が適切です。本質的に未知のサーバー時間に対処しなければならない場合、問題はさらに悪化します。

したがって、サーバー側では、すべての日付と時刻を UTC に変換してください。すべてのサーバー操作を UTC で実行します。

ユーザーに時刻を表示するときは、ユーザーのローカル タイム ゾーンに変換するか (ユーザーに尋ねることでわかります)、時刻を UTC でブラウザーに送信してブラウザーに変換を行わせるか、ブラウザーを取得します。最初にサイトに接続したときにタイムゾーンを提供し、その情報を使用して出力時間を変換します。

これらのうち、最初のオプションが最も信頼性が高いですが、サイトに受け入れられない可能性があります。オプション 2 と 3 は、ユーザーがブラウザーに対してローカルに設定した構成データに依存します。

于 2013-06-14T03:17:12.027 に答える