-1

我像这样在我的 php 脚本中使用日期函数

 $doy = date('z') + 1;
 $edition = date('Y') . $doy;

在我的本地机器上,它没有给我任何警告,但在我的登台服务器上,它给出了以下警告,为什么会这样。我怎样才能删除这个?

消息:date() [function.date]:依赖系统的时区设置是不安全的。您需要使用 date.timezone 设置或 date_default_timezone_set() 函数。如果您使用了这些方法中的任何一种,但仍然收到此警告,您很可能拼错了时区标识符。我们为 '2.0/DST' 选择了 'Europe/Paris'

4

5 回答 5

5

您需要使用 date.timezone 设置或 date_default_timezone_set() 函数。

这正是你必须做的……

date_default_timezone_set('Europe/Paris');

或者在 php.ini 中:

date.timezone = Europe/Paris

显然,您可以使用任何您想要的时区。

于 2012-05-08T13:23:04.753 回答
0

在调用 date() 之前,使用 date_default_timezone_set('Europe/Kiev') 设置您的默认时区。支持的时区列表在这里:http ://ru2.php.net/manual/en/timezones.php

于 2012-05-08T13:22:34.697 回答
0

您可以在页面顶部设置默认时区

  date_default_timezone_set('America/Chicago');

如果你只是想暂时使用它

   $dateTime = new DateTime();
   $DateTimeZone = timezone_open ( 'America/Chicago' );
   $dateTime->setTimezone( $DateTimeZone );
   echo $dateTime->format("Y") , ($dateTime->format("z") + 1);
于 2012-05-08T13:22:47.757 回答
0

你想要一年中的哪一天还是时区?既然你把它命名为 $doy,我以为你想要 Day Of Year。但是,您收到的所有错误消息都涉及时区。在 Oreilly Book 的第 139 页上,有一个日期函数格式说明符列表,您使用的小写“z”表示一年中的某一天。在书中的其他地方,我读到大写的“Z”代表时区。当错误消息回复时区时,似乎出现了某种故障,但您的代码指定了一年中的哪一天。

我参考的书是“Learning PHP, MySQL, JavaScript, & CSS”。

于 2013-03-21T04:18:47.630 回答
-2

这是由登台服务器上的错误设置引起的。您可以通过更改错误报告级别来删除此输出

例子:

// Report simple running errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);

您可以在 php 网站上找到更多信息:http: //php.net/manual/en/function.error-reporting.php

但是您也可以像巴巴发布的那样解决此消息。

于 2012-05-08T13:23:38.543 回答