我正在尝试创建从今天到数据库中最旧记录的月份列表。 它工作得很好,除了循环在它到达最早月份之前停止。这是我的代码:
echo $oldest_entry; //2012-01-31
$end = strtotime($oldest_entry);
$month = strtotime(date('Y-m-d'));
$year = "";
while($month >= $end)
{
if(date('Y', $month) != $year){
echo "<b>".date('Y', $month)."</b><br/>";
$year = date('Y', $month);
}
echo date('F', $month)."<br/>";
$month = strtotime("-1 month", $month);
}
输出: 的 2012
三月
二月
并没有到达1月份。我在这做错了什么?我想将=添加到&gt;会解决这个问题,但事实并非如此。
答案 0 :(得分:4)
由于2012-01-16 >= 2012-01-31
为假,因此无法打印1月。
您应该省略日期。在比较中仅使用年份和月份。