因为偏移量取决于日期。
例如,在夏天
Europe/Budapest
有2小时的偏移(由于夏令时),在冬季为1小时:
$tz = new DateTimeZone("Europe/Budapest");
var_dump($tz->getOffset(new DateTime('2018-06-06', $tz)));
var_dump($tz->getOffset(new DateTime('2018-01-06', $tz)));
夏令时不是唯一的更改来源,请参见
Moscow time
:
$tz = new DateTimeZone("Europe/Moscow");
var_dump($tz->getOffset(new DateTime('2010-01-01', $tz)));
var_dump($tz->getOffset(new DateTime('2012-01-01', $tz)));
var_dump($tz->getOffset(new DateTime('2015-01-01', $tz)));