对于下面的代码,我想拥有当月和未来12个月的年份。我使用一个循环,每个工作正常,除了" 1月和#34;。我只是不知道什么是错的。
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
答案 0 :(得分:3)
这样的事情怎么样?
<?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;
}
答案 1 :(得分:2)
您可以简单地使用:
$date = new DateTime('first day of this month');
for ($i = 0; $i < 13; $i++) {
echo $date->format('F Y,');
$date->modify('+1 month');
}
输出结果为:
2015年12月,2016年1月,2016年2月,2016年3月,2016年4月,2016年5月,2016年6月,2016年7月,2016年8月,2016年9月,2016年10月,2016年11月,2016年12月,