在PHP中更改时区无效

问题描述 投票:2回答:3

我的托管公司在我的php.ini中将默认时区设置为America / Chicago。我通过检查phpinfo()并在我的PHP代码中回显date_default_timezone_get()来确认时区。

但是,我测试了在PHP代码中更改时区,但是没有运气。

首先,我测试了:

echo (new DateTime())->getTimestamp();
echo '<br>';
date_default_timezone_set('UTC');
echo (new DateTime())->getTimestamp();

并且两个回显的时间戳相同。

然后,我测试了:

echo (new DateTime())->getTimestamp();
echo '<br>';
$now = new DateTime();
$now->setTimezone(new DateTimeZone('UTC'));
echo $now->getTimestamp();

并且两个回显的时间戳仍然相同。

php timezone
3个回答
4
投票

getTimestamp返回UNIX Epoch timestamp。 UNIX时间戳在世界各地始终相同。时区只会影响人类可读的时间,例如当您执行$now->format('H:i:s')时。

也请参阅https://stackoverflow.com/a/4812178/476了解更多说明。


0
投票

尝试此

使用date_default_timezone_set("UTC")

<?php
 date_default_timezone_set("UTC");
 echo date_default_timezone_get().date('Y-m-d h:I:s');
?>

ExampleDemo


-1
投票

如果无法设置时区,请检查此方式。

 date_default_timezone_set("UTC");
 echo date_default_timezone_get();
 echo date(“Y-m-d h:I:s”);

希望这会有所帮助

© www.soinside.com 2019 - 2024. All rights reserved.