比较不同月份的两个日期在PHP中没有返回任何内容

时间:2016-08-15 09:02:47

标签: php date strtotime

我的代码如下:

while ($DateNow <= $DateFinish) {
    echo "<td>".$DateNow." | ".$DateFinish."</td>";
    $DateNow = date("d-m-Y", strtotime("next day, ".$Datenow));  
}

此代码位于表格中,因此它将为一周内的每一天创建一个新单元格。 $DateNow周一开始于星期一,$DateFinish星期六。所以它会产生6个新的&lt; td&gt;。

效果很好但问题发生在比较日期是在不同的月份,例如8月29日星期一和9月6日星期六,它什么也没有返回。我尝试了每个可能有2个月的周,没有任何表现。但是,当它仍然在1个月内时,就显示出来了。

对此有何想法?

1 个答案:

答案 0 :(得分:1)

当您按字母顺序(按字母顺序)以d-m-Y格式订购一组日期时,您无法获得预期的订单。

例如

30-01-2016
31-01-2016
01-02-2016
02-02-2016
28-02-2016
29-02-2016
01-03-2016
02-03-2016

变为

01-02-2016
01-03-2016
02-02-2016
02-03-2016
28-02-2016
29-02-2016
30-01-2016
31-01-2016
排序后

为了在以这种方式进行比较时获得更合理的排序,您需要将日期格式更改为更有利于自然排序的内容(例如Y-m-d)。