我试图mktime();
使用我的默认时区 *(America/Sao_Paulo)* 制作自己的 php。它工作正常,但我注意到某些时间戳比应有的时间多一小时。所以我追踪并找出脚本开始错过的日期:03/11月/1985 我进行了一些测试,出于某种奇怪的原因(这就是我想要理解的),这一天只有 23 小时!核实:
<?php
date_default_timezone_set('America/Sao_Paulo');
//shows 23
echo (mktime(0,0,0,11,03,1985)- mktime(0,0,0,11,02,1985))/3600;
//any other date, shows 24
echo '<br/>'.(mktime(0,0,0,11,3,2000)-mktime(0,0,0,11,2,2000))/3600;
?>
请注意,时区 UTC 不会发生这种情况。这是一个可能的错误?
PS:对不起英文错误。