我的代码如下:
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个月内时,就显示出来了。
对此有何想法?
答案 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
)。