问题是date('r')为我的时区返回了错误的时间。
php.ini时区设置:
date.timezone =欧洲/基辅
date_default_timezone_set('Europe / Kiev')解决了这个问题。
那么WAMP出了什么问题?
答案 0 :(得分:8)
我建议始终使用脚本
中的date_default_timezone_set()e.g。
date_default_timezone_set('Europe/Kiev');
或
ini_set('date.timezone', 'Europe/Kiev');
...以避免PHP猜测时区。
将代码传输到不同的服务器(例如乌克兰以外)时,它会很方便。如果date.timezone
中未设置php.ini
或其设置不正确,此行应该可以帮助您避免意外(错误)结果。当您无法访问和/或修改php.ini
(共享主机)时,它也很方便。
此外,请确保您未在;
的行中使用php.ini
。
更改php.ini
后重新启动服务器。
答案 1 :(得分:5)
编辑php.ini
并重启Apache:
php.ini
(转到 PHP - > php.ini )date.timezone
值;date.timezone = UTC date.timezone = Europe/Kiev
date.timezone
phpinfo();
的值
答案 2 :(得分:3)
您需要在编辑php.ini文件后重新加载配置/重新启动服务器。
答案 3 :(得分:1)
根据documentation of date_default_timezone_get
,可以通过设置TZ
environement变量来覆盖date.timezone
配置选项(反过来,可以通过调用date_default_timezone_set
来覆盖该变量) 。根据您的描述,我怀疑TZ
environement veriable已设置。
答案 4 :(得分:1)
默认情况下,它会显示您可以使用以下代码更改区域的GMT时间
date_default_timezone_set("Asia/Bangkok");//set you countary name from below timezone list
echo $date = date("Y-m-d H:i:s", time());//now it will show "Asia/Bangkok" or your date time
答案 5 :(得分:1)
我知道这是一个老问题。
如果您使用的是PHP框架,则可能需要检查框架的配置文件。例如在Laravel中,打开config/app.php
,你会在那里找到时区。将其设置为您的时区。
答案 6 :(得分:0)
......应该这样做。 3.重新启动服务器