时区配置影响时间取值。
默认不配置的话用的是格林尼治时间(零时区),而不是国内东8(+8)时区时间(北京时间)。
看下面一个很明显的例子:
[root@10 conf]# php b.php
2020-05-07 09:35:06
[root@10 conf]# php -c php.ini b.php
2020-05-07 17:35:13
[root@10 conf]# date
Thu May 7 17:35:16 CST 2020
[root@10 conf]#
示例所用的b.php很简单:
<?php
echo date('Y-m-d H:i:s')."\n";
区别就是php.ini中是否设置了时区timezone参数。
date.timezone = Asia/Shanghai
除了在配置文件中修改时区的方式,还可以在代码中临时修改时区,添加如下代码也可以临时切换时区:
date_default_timezone_set("PRC");