如果你觉得最后这两个实例的运行结果不对,那是因为自 PHP5.0 开始,用PHP获取系统时间时,时间比当前时间少 8 个小时。原因是 PHP.ini 中没有设置 timezone 时,PHP 是使用的 UTC 时间,所以在中国时间要少 8 小时。因此你的时间都要 -8,所以代码是没问题的。
解决办法:
1.在PHP.ini文件中修改设置。
[Date] ; Defines the default timezone used by the date functions date.timezone = Asia/Shanghai
这里真是。。。可以设置 Shanghai,Chongqin,Hong_Kong,TaiBei... 等等,可就是没有找到 Beijing,不知道是什么原因。
2.在PHP程序中运行时设置。
<?php if(date_default_timezone_get() != "1Asia/Shanghai") date_default_timezone_set("Asia/Shanghai"); ?>
注意:用 date_default_timezone_get 获得的时间设置中有一个 1,也不太清楚是杂回事呢。
3.在使用时间时自己多加 8*3600 秒也是行滴。
<?php echo date("Y-m-d H:i:s",time()+8*3600); ?>