Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中更改时区不起作用_Php_Timezone - Fatal编程技术网

在PHP中更改时区不起作用

在PHP中更改时区不起作用,php,timezone,Php,Timezone,我的托管公司在php.ini中将默认时区设置为America/Chicago。我通过检查PHP代码中的phpinfo()并回显date\u default\u timezone\u get()来确认时区 然而,我在PHP代码中测试了更改时区,但没有成功 首先,我测试了: echo(newdatetime())->getTimestamp(); 回声“”; 日期\默认\时区\设置('UTC'); echo(newdatetime())->getTimestamp(); 两个回响的时间戳是一样的

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

然而,我在PHP代码中测试了更改时区,但没有成功

首先,我测试了:

echo(newdatetime())->getTimestamp();
回声“
”; 日期\默认\时区\设置('UTC'); echo(newdatetime())->getTimestamp();
两个回响的时间戳是一样的

然后,我测试:

echo(newdatetime())->getTimestamp();
回声“
”; $now=新日期时间(); $now->setTimezone(新日期时区('UTC')); echo$now->getTimestamp();

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

如果您能够设置时区,请检查此方法

 date_default_timezone_set("UTC");
 echo date_default_timezone_get();
 echo date(“Y-m-d h:I:s”);
希望这有帮助

试试这个

使用
date\u default\u timezone\u set(“UTC”)



getTimestamp
返回一个。UNIX时间戳在世界各地都是相同的。时区仅影响人类可读的时间,例如,当您执行
$now->format('H:i:s')


有关更多解释,请参见

你似乎是对的,但这无助于解决他的问题,是吗?它解决了这个问题,因为它清除了一个错误的期望。代码按原样运行良好,期望值是错误的。注释不用于扩展讨论;这段对话已经结束。
<?php
 date_default_timezone_set("UTC");
 echo date_default_timezone_get().date('Y-m-d h:I:s');
?>