奇怪的php日期和行为

时间:2014-08-27 11:15:31

标签: php date sum

为什么在使用其他日期时,使用25-Oct-13和5天(按预期)只需4天?

<?php
    echo date('d-M-y',(strtotime('25-Oct-13') + (432000)));
?>

2 个答案:

答案 0 :(得分:1)

这取决于您的时区。 10月的最后一个星期六是某些语言环境中夏令时(DST)的结束。因此,2013年10月26日至27日的夜晚可能会或可能不会包含额外的一小时。

通过添加实际天数而非数小时来解决此问题:

$myDate = new \Datetime('2013-10-25');
$myDate->add(new \DateInterval('P5D'));

This does return Oct 30th 2013

More strange stuff can happen from incorrectly assuming that days are always exactly 24 hours

答案 1 :(得分:1)

$ date =&#34; 2014-09-17&#34;;

回音日期(&#39; Y-m-d&#39;,strtotime($ date。&#39; + 5天&#39;));