wamp服务器中错误的PHP date()输出

时间:2011-04-22 08:35:18

标签: php wampserver

问题是date('r')为我的时区返回了错误的时间。

php.ini时区设置:
date.timezone =欧洲/基辅

我的脚本中的

date_default_timezone_set('Europe / Kiev')解决了这个问题。

那么WAMP出了什么问题?

7 个答案:

答案 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:

  • 左键单击 WampServer in tray icon
  • 打开php.ini(转到 PHP - > php.ini
  • 设置新的date.timezone
    ;date.timezone = UTC 
    date.timezone = Europe/Kiev
  • 重启Apache(转到 Apache - >服务 - >重新启动服务
  • 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

支持的时区列表 http://www.php.net/manual/en/timezones.php

答案 5 :(得分:1)

我知道这是一个老问题。 如果您使用的是PHP框架,则可能需要检查框架的配置文件。例如在Laravel中,打开config/app.php,你会在那里找到时区。将其设置为您的时区。

答案 6 :(得分:0)

  1. 打开你的php.ini,可能是notepad ++,sublime text ...
  2. 将此行添加到文件中:date.timezone =“X”其中X是您的愿望时区。在此处获取支持的时区列表:http://php.net/manual/en/timezones.php
  3. ......应该这样做。 3.重新启动服务器