假设这段代码:
<?php
date_default_timezone_set('UTC');
$time = gmmktime(14, 50, 0, 5, 12, 2013);
echo date('Y-m-d H:i:s O', $time).'<br />';
echo gmdate('Y-m-d H:i:s O', $time).'<br />';
date_default_timezone_set('GMT');
$time = gmmktime(14, 50, 0, 5, 12, 2013);
echo date('Y-m-d H:i:s O', $time).'<br />';
echo gmdate('Y-m-d H:i:s O', $time);
?>
在我的本地服务器上,我得到输出:
2013-05-12 14:50:00 +0000
2013-05-12 14:50:00 +0000
2013-05-12 14:50:00 +0000
2013-05-12 14:50:00 +0000
但是在生产中,相同的代码会产生:
2013-05-12 10:50:00 -0400
2013-05-12 14:50:00 +0000
2013-05-12 14:50:00 +0000
2013-05-12 14:50:00 +0000
改变机器的时间不会以任何方式影响输出。
一些信息:
$ date +%Z
GMT
$ date +%z
+0000
- PHP 5.3.25 (cli)(构建时间:2013 年 5 月 11 日 09:54:00)
- CentOS 5.9 版(最终版)