PHP 夏令时总是假的



我想知道日期是否在夏令时。

所以我这样做:

echo date('I', strtotime('2017-03-23')); // outputs 0
echo date('I', strtotime('2017-03-29')); // outputs 0

我希望两个输入有不同的结果,因为英国的开关是 2017 年 3 月 26 日,但在这两种情况下输出都是 0。

我已经检查过,时区看起来正确:

echo date_default_timezone_get(); // outputs UTC

正如您在此答案中看到的,UTC没有夏令时,则需要将时区设置为 Europe/London

date_default_timezone_set('Europe/London'); 
echo date('I', strtotime('2017-03-23')); // echoes 0
echo date('I', strtotime('2017-03-29')); // echoes 1
date_default_timezone_set('UTC'); 
echo date('I', strtotime('2017-03-23')); // echoes 0
echo date('I', strtotime('2017-03-29')); // echoes 0

相关内容

  • 没有找到相关文章

最新更新