自 PHP 5.1.0 起(此版本日期时间函数被重写了),如果时区不合法则每个对日期时间函数的调用都会产生一条 E_NOTICE 级别的错误信息,如果使用系统设定或 TZ 环境变量则还会产生 E_STRICT 级别的信息。
不像Unix/Linux平台还有一个 TZ 环境变量可以用,在WIN32平台下, 不设置时区,那么时间都是按照格林威治标准时间走的。比如“北京时间上午10点”,在你的脚本里就会认为是凌晨2点(减8小时)。
PHP的默认时区,可以通过修改php.ini的 date.timezon 值来设定。
date_default_timezone_get()函数可以得到你的脚本中所有日期时间函数所使用的默认时区。如果它返回的是UTC,则说明没有被设置一个默认的时区。除了修改php.ini文件,我们还可以在脚本中用 date_default_timezone_set()函数来进行默认时区的设置。
下面这些,都是设置为北京时间(GMT+8)的
date_default_timezone_set(‘Asia/Chongqing’); //重庆
date_default_timezone_set(‘Asia/Chungking’); //重庆
date_default_timezone_set(‘Asia/Harbin’);//哈尔滨
date_default_timezone_set(‘Asia/Hong_Kong’);//香港
date_default_timezone_set(‘Asia/Macau’);//澳门
date_default_timezone_set(‘Asia/Macao’);//澳门
date_default_timezone_set(‘Asia/Shanghai’);//上海
date_default_timezone_set(‘Asia/Taipei’);//台北
date_default_timezone_set(‘Asia/Urumqi’);//乌鲁木齐
参见:date_default_timezone_get() date_default_timezone_set PHP所支持时区列表