标题: php.ini中的时区设置date.timezone = PRC
作者: Demon
链接: http://demon.tw/software/php-date-timezone.html
版权: 本博客的所有文章,都遵守“署名-非商业性使用-相同方式共享 2.5 中国大陆”协议条款。
无意中发现 lnmp 默认的 php.ini 配置中有一行 date.timezone = PRC。PRC,People’s Republic of China,中华人民共和国,也就是日期使用中国的时区。
date.timezone 是 PHP 5.1 中新增加的配置文件参数,默认 date.timezone 是被注释掉的,也就是默认时区是 utc,lnmp 改为了 date.timezone = PRC,这样可以解决时间相差八小时的问题,看来 lnmp 的本土化工作做得不错。不过貌似这个参数一般都设成 Asia/Shanghai 吧?在 PHP 官方文档上找了半天才找到 PRC 这个参数,它不在 Asia 这个分类中,而在 Others,一般人都会在 Asia 里面找吧。
搜索了一下 PHP 源码,在 ext/date/lib/timezonemap.h 中看到如下代码
{'cst',0,28800,'Asia/Chongqing'},
{'cst',0,28800,'Asia/Chungking'},
{'cst',0,28800,'Asia/Harbin'},
{'cst',0,28800,'Asia/Kashgar'},
{'cst',0,28800,'Asia/Macao'},
{'cst',0,28800,'Asia/Macau'},
{'cst',0,28800,'Asia/Shanghai'},
{'cst',0,28800,'Asia/Taipei'},
{'cst',0,28800,'Asia/Urumqi'},
{'cst',0,28800,'PRC'},
{'cst',0,28800,'ROC'},
对 PHP 源码的时间部分没有什么研究,姑且认为这几个参数都表示 UTC 8 的东八区中国的北京时间吧。
当然,可以在 PHP 代码中调用 date_default_timezone_set 函数设置运行时的时区,这是常识,我就不多说了。
随机文章:
这篇文章发布于 2011年11月5日,星期六,17:09,归类于 软件相关。 您可以跟踪这篇文章的评论通过 RSS 2.0 feed。
您可以留下评论,或者从您的站点trackback。