学习的日期,他们让我很难现在。
$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
因此半夜? 例如,纽约返回这是正确的一个日期的19:00 UTC -5:00
。 莫斯科返回01-01-1970 03-00-00
这是不正确再次( UTC +3:00
,而不是UTC +4:00
)
当不使用->setTimestamp
,伦敦当前的时间正确渲染,虽然。
Livecode: http://sandbox.onlinephpfunctions.com/
另外,我的本地时区为Europe/Prague
( UTC +1:00
)。 测试了date_default_timezone_set('Europe/London')
为好。
我相信有一些错误在我的逻辑是什么?