一 、问题:
前提: 当前时间是2013/10/9 16:25:46
状况:采用getdate()函数对应的结果项的hours的值时8不是对应的16即时区相差8.
二 、解决办法:
在使用getdate()之前调用了date_default_timezone_set()方法
三、 相关时区设置:(该部分转载自: http://sjolzy.cn/php-set-the-time-zone-of-the-two-methods.html)
1、 php5后都要自己设置时区,有两种设置时区的方法:
(一)修改php.ini的设置
(二)在代码里修改
2、 在PHP.INI中设置时区
date.timezone = PRC
3、 在代码中设置时区
1)date_default_timezone_set('Asia/Shanghai'); //'Asia/Shanghai' 亚洲/上海
2)date_default_timezone_set('Asia/Chongqing'); // 亚洲/重庆
3)date_default_timezone_set('PRC'); //中华人民共和国
4) ini_set('date.timezone', 'Etc/GMT-8');
5)ini_set('date.timezone', 'PRC');
6) ini_set('date.timezone', 'Asia/Shanghai');
7) ini_set('date.timezone', 'Asia/Chongqing');
以上其中方法,任何一个都可以满足我们需求。
系统初始化时,加上ini_set('date.timezone', 'Asia/Shanghai');或date_default_timezone_set("PRC");就将解决时区相差8