我的php代码有点问题,请看下面的
<?php
$thisyear = date('Y');
echo "<span>© 2004-$thisyear All rights reserved. </span>";
?>
我在error_log中收到的错误属于以下性质
PHP警告:date()[function.date]:它 依赖系统的时区设置是不安全的。你是 required 使用date.timezone设置或date_default_timezone_set()函数。如果您使用其中任何一个 方法,你最有可能仍然得到这个警告 拼写错误的时区标识符。我们选择了“美国/芝加哥” 'CST / -6.0 /无夏令时'
我不知道如何在我的简单php脚本中指定其中任何一个。
任何帮助表示赞赏!
答案 0 :(得分:6)
我相信这个警告是明确的。试试并使用它:
<?php
date_default_timezone_set('America/Los_Angeles');
$thisyear = date('Y');
echo "<span>© 2004-$thisyear All rights reserved. </span>";
?>
您可以在此链接后看到所有支持的时区列表:http://php.net/manual/en/timezones.php
答案 1 :(得分:2)
答案 2 :(得分:1)
您只需要像这样指定时区。
<?php
date_default_timezone_set('America/Chicago'); // Or any other timezone
$thisyear = date('Y');
echo "<span>© 2004-$thisyear All rights reserved. </span>";
?>
有关时区的完整列表,请参阅 - List PHP TimeZones
答案 3 :(得分:1)
<?php
// set the default timezone to use. Available since PHP 5.1
date_default_timezone_set('UTC');
echo date('y');
?>
答案 4 :(得分:0)
date_default_timezone_set("Europe/Rome");
答案 5 :(得分:0)
如果您使用的是PHP&gt; = 5.4.0,则有两种选择:
在调用日期函数
之前使用date_default_timezone_set()&LT; ? php
date_default_timezone_set( “美国/芝加哥”);
$ thisyear = date('Y');
echo“©2004- $ thisyear保留所有权利。”;
&GT;
使用设置在php.ini中指定默认时区,方法是在php.ini文件中添加选项date.timezone,然后只使用日期函数:
[日期]
定义日期函数
使用的默认时区date.timezone = America / Chicago
选项2是默认值,除非在调用date之前显式调用date_default_timezone_set(),否则将使用它。
如果您的PHP版本是&lt; 5.4.0,您还可以使用环境变量TZ或操作系统。在date_default_timezone_set()文档中,您可以看到优先级:
按优先顺序,此函数返回默认时区:
使用date_default_timezone_set()函数读取时区集(如果有的话)
仅限PHP 5.4.0之前:读取TZ环境变量(如果非空)
读取date.timezone ini选项的值(如果已设置)
仅限PHP 5.4.0之前:查询主机操作系统(如果操作系统支持并允许)。这使用了一种必须猜测时区的算法。对于任何情况,这都无法正常工作。到达此阶段时会显示警告。不要依赖它正确猜测,而是将date.timezone设置为正确的时区。
希望有所帮助