0

後でユーザー定義のタイムゾーンでタイムゾーンを変更できるように、時間を適切に保存するにはどうすればよいですか?通常、DateTimeクラスを使用してこれをどのように行いますか?

例えば:

フォーラムスクリプトを実行します。

サーバーの現地時間は米国です

ユーザーAはEU出身です

ユーザーBはJP出身です

ユーザーAが投稿し、EUでの現地時間に基づいて時間を表示します。

ユーザーBは、JPでの現地時間に関するユーザーAの投稿を確認します。

私の質問は、時間をどのタイムゾーンに保存する必要があるかです。そして、通常、DateTimeクラスを使用してこれをどのように行いますか?

4

1 に答える 1

0

安定性と一貫性のために、UTC形式で時間を節約します。

各ユーザーは、PHPの既知のタイムゾーンの形式で、自分の設定をデータベースに保存する必要があります。

次に、表示するときに、時刻を正しいタイムゾーンに変更します。

$time = "13:37 2012-12-21";
$datetime = new DateTime($time);
$user_timezone = new DateTimeZone($user_timezone_from_the_database);
$datetime->setTimezone($user_timezone);
$datetime->format("H:i:s Y-m-d");

ユーザーにとって正しい日付/時刻が得られます。

于 2012-07-28T19:02:16.367 に答える