如何修复PHP中date()的警告“

时间:2011-04-04 07:05:52

标签: php date warnings xampp

我在winxp上使用XAMPP(PHP版本5.3.1)。当我尝试在我的localhost上调用time()或date()函数时。它会显示警告信息,

  

严重性:警告

     

消息:date()[function.date]:它是   不依赖系统的安全性   时区设置。您必需   使用date.timezone设置或   date_default_timezone_set()   功能。如果您使用过任何一个   那些方法,你还在   得到这个警告,你很可能   拼写错误的时区标识符。我们   为'8.0 /无DST'选择'UTC'   代替

     

文件名:helpers / date_helper.php

如何禁用警告?感谢。

5 个答案:

答案 0 :(得分:59)

尝试在date.timezone文件中设置php.ini。或者,您可以使用ini_set()date_default_timezone_set()手动设置它。

答案 1 :(得分:19)

您需要像这样设置默认时区smth:

date_default_timezone_set('Europe/Bucharest');

有关http://php.net/manual/en/function.date-default-timezone-set.php

的更多信息

或者您可以在日期前使用@来取消警告,但是警告声明依赖服务器默认时区是不安全的

答案 2 :(得分:10)

你也可以使用它:

ini_alter('date.timezone','Asia/Calcutta');

你应该在调用任何日期函数之前调用它。它接受键作为在运行时改变PHP设置的第一个参数,第二个参数是值。

在我弄明白之前,我已经完成了这些事情:

  1. 将PHP.timezone更改为“Asia / Calcutta” - 但无法正常工作
  2. 更改了ini中的lat和long参数 - 无法正常工作
  3. 已使用date_default_timezone_set("Asia/Calcutta"); - 无效
  4. 已使用ini_alter() - IT WORKED
  5. 评论date_default_timezone_set("Asia/Calcutta"); - IT WORKED
  6. 恢复了对PHP.ini所做的更改 - IT WORKED
  7. 对我来说,init_alter()方法让一切正常。

    我在OSX山狮上运行Apache 2(预安装),PHP 5.3

答案 3 :(得分:3)

这恰好发生在我身上,因为 在php.ini中没有设置date.timezone!

  

; date.timezone =欧洲/柏林

使用php date()功能触发了该警告。

答案 4 :(得分:0)

error_reporting(E_ALL ^ E_WARNING);

:)

您应该更改主题为“如何在PHP中修复日期警告()”...