php - 获取PHP中两个日期之间的所有月份

标签 php date datetime

<分区>

这个问题看起来与大约一个月的旧问题相似,但我有一个特殊问题。 我不是要计算两个日期之间的月份,而是要计算两个日期中包含的月份。 我解释。我有 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 个月?

最佳答案

您可以使用简单的 while() 循环来做到这一点:

$begin = new DateTime('2014-07-20');
$end = new DateTime('2014-10-10');

while ($begin <= $end) {
    echo $begin->format('Y-m'), "\n";
    $begin->modify('first day of next month');
}

demo

关于php - 获取PHP中两个日期之间的所有月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25761049/

相关文章:

javascript - 为什么 JavaScript 警报在 Phonegap Android 应用程序中显示空字符串,而代码在浏览器上运行良好?

java - Stringtemplate - 如何将日期格式设置为语言环境格式

javascript - 日期格式 - momentjs - 使用语言环境分别提取日期和时间

mysql - MySQL 中重叠日期时间范围的总和

php - 无法返回多个 MySql 结果

php - 使用 wp_generator 隐藏 WordPress 版本

javascript - 输入具有起始值和结束值的双范围值

php - 根据时间戳按日期和时间对条目进行分组

python - DateOffset Pandas 减法

python - datetime.date(2014, 4, 25) 在 Django 中不是 JSON 可序列化的