列出两个日期之间的月份
在各种应用程序中,有必要列出或迭代指定日期范围内的月份。为了实现这一目标,我们提出了两种 PHP 解决方案,以满足不同的 PHP 版本。
PHP 5.3 及更高版本
$start = new DateTime('2010-12-02');
$start->modify('first day of this month');
$end = new DateTime('2012-05-06');
$end->modify('first day of next month');
$interval = DateInterval::createFromDateString('1 month');
$period = new DatePeriod($start, $interval, $end);
foreach ($period as $dt) {
echo $dt->format("Y-m") . "
\n";
}
PHP 5.4 或更新版本
$start = (new DateTime('2010-12-02'))->modify('first day of this month');
$end = (new DateTime('2012-05-06'))->modify('first day of next month');
$interval = DateInterval::createFromDateString('1 month');
$period = new DatePeriod($start, $interval, $end);
foreach ($period as $dt) {
echo $dt->format("Y-m") . "
\n";
}
请注意,将开始日期和结束日期修改为每月的第一天可以确保所需月份的完整列表,防止如果当前日期高于最后一天则可能会跳过二月的情况。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3