PHP_VERSION = 5.5.11
话说php函数 time() 的起始时间戳是从:GMT 1970-01-01 00:00:00 开始算起的
写了点测试代码:
1 $gmt1 = strtotime('1970-01-01');
2 $gmt2 = date('Y-m-d H:i:s',$gmt1);
3
4 $gmt3 = strtotime('1970-01-02');
5 $gmt4 = date('Y-m-d H:i:s',$gmt3);
6
7 $gmt5 = strtotime('1970-01-01',$gmt3);
8
910 echo '<br /><br />--gmt1----<br />';
11 print_r($gmt1);
12 echo '<br /><br />--gmt2----<br />';
13 print_r($gmt2);
14 echo '<br /><br />--gmt3----<br />';
15 print_r($gmt3);
16 echo '<br /><br />--gmt4----<br />';
17 print_r($gmt4);
18 echo '<br /><br />--gmt5----<br />';
19 print_r($gmt5);
运算结果为:
--gmt1----
-28800
--gmt2----
1970-01-01 00:00:00
--gmt3----
57600
--gmt4----
1970-01-02 00:00:00
--gmt5----
-28800
为什么 GMT 1970-01-01 00:00:00 的时间戳是 -28800呢?
我相信一定会有人和我一样的去抠这种细节,答案来了,刚测试出来的。
28800/60/60=8小时
因为Apache (php.INI)里面设置了时区: Asia/Shanghai。 --感谢driftcloudy 纠正
所以有8小时时差。^_^