すべての日時値を UNIX タイムスタンプとして保存します。登録ユーザーは、プロファイルで個人の GMT ロケールを設定できます。ユーザーの GMT ロケールで Web サイトのすべての日時を表示するにはどうすればよいですか?
ありがとうございました
「ユーザーの GMT ロケール」などというものはありません。ユーザーのタイムゾーンを参照している必要があります。
次の方法で、UNIX タイムスタンプをユーザー タイムゾーンの日付に変換できます。
$timestamp = ...;
$tz = new DateTimezone("Europe/Lisbon"); //substitute by the user's timezone
$d = new DateTime("@$timestamp");
$d->setTimezone($d);
echo $d->format(DateTime::RFC822);
GMT オフセットしかない場合は、次を使用できます。
$tz = new DateTimezone("Etc/GMT-12");
ただし、GMT オフセットを使用する場合は、ユーザーが夏時間を開始または終了するときにオフセットを変更する必要があることに注意してください。
PHP の場合:
date("Y-m-d H:i:s", $timestamp);
MySQL の場合:
FROM_UNIXTIME()