大家都知道data()函数是获取服务器时间的函数。但有时在不同的主机上,在同一个时间内,获取的时间值不同。
从php5.1.0开始,php.ini里加入了date.timezone这个选项,默认情况下是关闭的
也就是显示的时间(无论用什么php命令)都是格林威治标准时间,和我们的时间(北京时间)差了正好8个小时.
这是在网上找的三种解决方法:
1. 不要用php5.1.0以上版本(好像是废话)
2. 修改php.ini文件,查找 ;date.timezone = ,把前面的分号去掉在 "="后面加上时区
比如:Asia/Chongqing (重庆),Asia/Shanghai (上海),Asia/Urumqi (乌鲁木齐),Asia/Macao (澳门),Asia/Hong_Kong (香港),Asia/Taipei (台北)
查找更多时区你可以去php的官方网上查找 http://www.php.net/docs.php
例如我们大陆用户把:
;date.timezone =
改成:
date.timezone = Asia/Chongqing
重启http服务器 如apache2或iis等 (iis用iisreset在cmd下重起,否则无效) 即可。
3. 如果你没有修改php.ini的权限那么就在你写程序时在调用data()函数之前加上一句 " date_default_timezone_set ("时区"); "
在时区那里填上你当前的时区 比如:
date_default_timezone_set ("Asia/Chongqing");
echo date("Y-m-d H:i:s");