在我的脚本中,我有一个给定的结束日期。为了得到开始日期,我将结束日期减去 23 个月。基本上,我的脚本应该做的是输出 24 个月(w/year) - 最后一个月/要打印的年份应该始终是指定的结束日期。
出于某种原因,我的脚本没有返回我想要的结果。给定 $end = '2013-07-05',脚本会正确返回结果。它打印出 8 月 11 日至 7 月 13 日,这是正确的。
但是对于某些日期(例如 $end = '2013-07-31'),输出是错误的。结果应该是 9 月 11 日到 8 月 13 日。但在这种情况下,它输出的是 8 月 11 日到 8 月 13 日,这是绝对错误的。
这是我的代码:
<?php
$end = strtotime('2013-07-31 +1 month');
$date = strtotime('2013-07-31 -23 month');
$start = $month = $date;
$months = "";
while($month < $end)
{
$months .= date('M y', intval($month))." ";
$month = strtotime("+1 month", intval($month));
}
echo $months;
?>
我认为 strtotime() 有问题。提前致谢。