日付を学んでいて、今は苦労しています。
$london = new DateTime();
$london->setTimestamp(0);
$london->setTimeZone(new DateTimeZone('Europe/London'));
echo $london ->format('d-m-Y H-i-s');
結果:
01-01-1970 01-00-00
UTC +0:00
真夜中のロンドンではないでしょうか?たとえば、New York は前の日付の 19:00 を返しますが、これは正しくはUTC -5:00
です。モスクワが戻っ01-01-1970 03-00-00
てきますが、これも正しくありません (UTC +3:00
とは対照的にUTC +4:00
)
ただし、を使用しない場合->setTimestamp
、ロンドンの現在の時刻は正しく表示されます。
ライブコード: http://sandbox.onlinephpfunctions.com/
また、私のローカル タイムゾーンはEurope/Prague
( UTC +1:00
) です。同様にテストさdate_default_timezone_set('Europe/London')
れました。
私のロジックにエラーがあると思いますか?