【发布时间】:2014-09-10 08:48:50
【问题描述】:
这个问题似乎与一个月左右的旧问题相似,但我有一个特殊问题。 我不想计算两个日期之间的月份,但我试图将月份包含在两个日期中。 我解释。我有 2 个日期:
$begin = new DateTime( '2014-07-20' );
$end = new DateTime( '2014-10-10' );
在这两个日期之间,我有 4 个月包括:7 月、8 月、9 月、10 月。 但是使用我正在使用的脚本,我找不到包含 4 个月但只有 3 个月的脚本。这是脚本:
$interval = DateInterval::createFromDateString('1 month');
$period = new DatePeriod($begin, $interval, $end);
$counter = 1;
foreach($period as $dt) {
echo $dt->format( 'm' );
$counter++;
}
echo $counter;
如何在一个循环中计算所有这 4 个月?
【问题讨论】:
-
我希望在这几个月里循环播放
-
您的示例仅适用于 $begin 中的 day 小于 $end 中的 day 的情况。简单的解决方案是将 $begin 中的日期设置为每月的第一天,并将 $end 中的日期设置为不是第一天(第二天、第三天或最后一天)的任何一天。 Example of your modified code.