今天发现一段PHP代码中的时间判断语句出了点问题,研究了一下发现问题出在PHP的时区设置上,PHP所取的时间默认是格林威治标准时间,所以和北京时间相差8小时
找到原因后,在网上搜索到了一些关于PHP的时区设置方法:
1、修改php.ini,在php.ini中找到data.timezone =去掉它前面的;号,然后设置data.timezone = “Asia/Shanghai”;即可。
2、在程序PHP 5以上版本的程序代码中使用函数ini_set(‘date.timezone‘,‘Asia/Shanghai‘);或者date_default_timezone_set(‘Asia/Shanghai‘);
一些常用的时区标识符说明:
Asia/Shanghai – 上海
Asia/Chongqing – 重庆
Asia/Urumqi – 乌鲁木齐
Asia/Hong_Kong – 香港
Asia/Macao – 澳门
Asia/Taipei – 台北
Asia/Singapore – 新加坡
函数设置时区方法:
<?php function_exists(date_default_timezone_set); //在这他总是返回1,这函数是判断这里面的字符是不是一个定义了的函数名 date_default_timezone_set("Etc/GMT"); //这是格林威治标准时间,得到的时间和默认时区是一样的 date_default_timezone_set("Etc/GMT+8"); //这里比林威治标准时间慢8小时 date_default_timezone_set("Etc/GMT-8"); //这里比林威治标准时间快8小时 date_default_timezone_set(‘PRC‘); //设置中国时区 ?>