在php

时间:2018-03-30 05:39:30

标签: php date

下面我用foreach循环打印所有月份,如1月到12月

foreach(range(1,12) as $i)
{
 echo $pmoth =date("F", mktime(0,0,0,$i));
}

参考屏幕截图:在屏幕截图中而不是2月它显示行军

enter image description here

2 个答案:

答案 0 :(得分:7)

通过日期参数也是最后一个它需要当前日期(30)因此对于二月它不是有效日期。这就是它显示游行的原因

foreach(range(1,12) as $i)
{
 echo $pmoth =date("F", mktime(0,0,0,$i,1));
}

答案 1 :(得分:0)

您可以执行以下操作。它的代码要多一些,但它看起来要好得多。

$period = new DatePeriod(
    new DateTime('2018-01-01'), 
    new DateInterval('P1M'),
    new DateTime('2019-01-01')
);

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