PHP: 无法获得正确年份的月份

PHP: Can't get month at the right year

对于下面的代码,我希望当前月份和接下来的 12 个月都包含年份。我为它使用了一个循环,除 "January" 外,一切正常。我只是不知道出了什么问题。

for ($i = 0; $i <= 12; $i++) {
    $months[ucfirst(strftime("%B %G", strtotime( date( 'Y-m' )." +$i months")))] = ucfirst(strftime("%B %G", strtotime( date( 'Y-m' )." +$i months")));
    echo ucfirst(strftime("%B %G", strtotime( date( 'Y-m' )." +$i months")));
}

回显输出:

December 2015 Januari 2015 Februari 2016 Maart 2016 April 2016 Mei 2016 Juni 2016 Juli 2016 Augustus 2016 September 2016 Oktober 2016 November 2016 December 2016

这样的事情怎么样?

<?php

$start = new DateTimeImmutable('first day of this month');
$interval = new DateInterval('P1M');
$period = new DatePeriod($start, $interval, 12);

foreach ($period as $date) {
    echo $date->format('F Y') . PHP_EOL;
}

您可以简单地使用:

$date = new DateTime('first day of this month');

for ($i = 0; $i < 13; $i++) {
    echo $date->format('F Y,');
    $date->modify('+1 month');
}

输出将是:

December 2015, January 2016, February 2016, March 2016, April 2016, May 2016, June 2016, July 2016, August 2016, September 2016, October 2016, November 2016, December 2016,