私のサイト全体は次のとおりです。
date_default_timezone_set('Europe/London');
ユーザーは自分のタイムゾーンを選択でき、データベースに4.0
(ドバイの場合)として保存されます
ここで、ユーザーが選択したタイムゾーンが、サイトに存在するカウントダウンに影響を与えるようにしたいと思います。カウントダウンは次のようになります。
$today_date = new DateTime('now'); // now
$final_date = new DateTime($date); // a date in the future
$interval = $today_date->diff($final_date); // find the difference
$time_left = $interval->format('starting in %d days, %h hours and %i minutes'); // display it
この上で、私は次のことをしました:
$userGMT = $user->get_gmt();
date_default_timezone_set($userGMT);
これは正しく機能しません。それでも、ヨーロッパ/ロンドンのタイムゾーンではカウントダウンされますが、私が選択したタイムゾーンではカウントダウンされません。
echo date('H:i:s');を試してみました。上記が影響を及ぼし、私が選択したタイムゾーンの時間を示していることを確認できます。
これで機能しますが、dateTime('now'); そうじゃない?