列出两个日期之间的月份
在各种应用程序中,有必要列出或迭代指定日期范围内的月份。为了实现这一目标,我们在 PHP 中提供了两种解决方案,以满足不同的 PHP 版本。
PHP 5.3 及更高版本
<code class="php">$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") . "<br>\n"; }</code>
PHP 5.4 或更高版本
<code class="php">$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") . "<br>\n"; }</code>
请注意,将开始日期和结束日期修改为每月的第一天可确保所需月份的完整列表,防止如果当前日期高于其日期,则可能会跳过二月的情况最后一天。
以上是如何在 PHP 中列出两个日期之间的月份?的详细内容。更多信息请关注PHP中文网其他相关文章!