猿问

在 PHP 中更改时区不起作用

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


但是,我在 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();

而两个回响的时间戳还是一样的。


慕斯王
浏览 309回答 3
3回答

Helenr

getTimestamp返回一个UNIX 纪元时间戳。世界各地的 UNIX 时间戳始终相同。时区只影响人类可读的时间,例如当你这样做时$now->format('H:i:s')。

白板的微信

尝试这个利用date_default_timezone_set("UTC")<?php&nbsp;date_default_timezone_set("UTC");&nbsp;echo date_default_timezone_get().date('Y-m-d h:I:s');?>

跃然一笑

如果您可以设置时区,请检查这种方式。&nbsp;date_default_timezone_set("UTC");&nbsp;echo date_default_timezone_get();&nbsp;echo date(“Y-m-d h:I:s”);
随时随地看视频慕课网APP
我要回答