这是我的代码:
<?php
echo date("Y-m-d H:i:s",1477785600) ;
echo "<br />";
echo date("Y-m-d H:i:s",1477789200) ;
?>
,结果是
2016-10-30 02:00:00
2016-10-30 02:00:00
为什么date()会使用不同的时间戳获得相同的结果?
这是一个PHP错误吗?
我的环境设置是:
答案 0 :(得分:6)
这是正确的输出。在西欧,由于夏令时,2016年10月30日是2点两次:
首先是2点CEST(+0200)。
一小时后,凌晨3点,时钟重置了一小时,时间是2点CET(+0100)。
这里有一个更清晰的test case:
date_default_timezone_set('Europe/Berlin');
echo date("r",1477785600) . "\n";
echo date("r",1477789200) ;
Sun, 30 Oct 2016 02:00:00 +0200
Sun, 30 Oct 2016 02:00:00 +0100