PHP设置的默认时区不准确


PHP set default time zone is not accurate

我在东海岸。当我用谷歌搜索丹佛的时间,并将其与时区变化的输出进行比较时:

$SiteSettings = new SiteSettings();
$settings = $SiteSettings->getSettings();
date_default_timezone_set($settings["data"]["timezone"]);
echo date_default_timezone_get(), '--', date("Y-m-d g:i:a"),'<br />';

时间为1小时,但数据库中的时区为美国/丹佛。这是因为PHP date函数不准确吗,还是因为谷歌和PHP的日期指向略有不同的时区?

我把America/Denver硬编码为默认时区,它工作正常,例如:

<?php
date_default_timezone_set('America/Denver');
echo date_default_timezone_get(), '--', date("Y-m-d g:i:a"),'<br />';
?>

编码板输出

谷歌结果