[php]php时间戳当中关于时区的问题

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 

 9 $sss = (float)$ddd[1]+(float)$ddd[0];

10 $ssss = $ddd[1]+$ddd[0];

11 

12 echo '<br /><br />--gmt1----<br />';

13 print_r($gmt1);

14 echo '<br /><br />--gmt2----<br />';

15 print_r($gmt2);

16 echo '<br /><br />--gmt3----<br />';

17 print_r($gmt3);

18 echo '<br /><br />--gmt4----<br />';

19 print_r($gmt4);

20 echo '<br /><br />--gmt5----<br />';

21 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小时时差。^_^

 

你可能感兴趣的:(PHP)