在php脚本中,输出当前时间:
复制代码 代码示例:
<?php
$time = date('Y-m-d H:i:s');
echo $time;
显示结果:
2014-02-26 06:52:58。
本机(上海)时间明明是:2014-02-26 14:52:58
时间整整提前了进入未来8个小时:东八区,是时区问题。
php如何知道时区呢?通过更改php.ini中的设置:
复制代码 代码示例:
[Date]
; Defines the default timezone u
sed by the date functions
date.timezone = Asia/Shanghai
重启服务器,再次运行以上代码,时间显示就正常了。
php5中php.ini默认是GMT时间,北京是+8时区。
不建议在php.ini中修改时区设置,可通过php脚本来设置。
当然,也可以在php.ini中修改默认时区设置。
如果没有权限,可以用代码修改php.ini,
可以用函数ini_set(),date_default_timezone_set通过以下方法来设置。
例子:
复制代码 代码示例:
<?php
date_default_timezone_set('Asia/Shanghai');//'Asia/Shanghai' 亚洲/上海
date_default_timezone_set('Asia/Chongqing');//其中Asia/Chongqing'为“亚洲/重庆”
date_default_timezone_set('PRC');//其中PRC为“中华人民共和国”
ini_set('date.timezone','Etc/GMT-8');
ini_set('date.timezone','PRC');
ini_set('date.timezone','Asia/Shanghai');
ini_set('date.timezone','Asia/Chongqing');
然后,可以通过echo date_default_timezone_get();来查看时区设置。