PHP DatePeriod没有显示所有月份

执行以下代码时,PHP 只显示第 10 个月和第 12 个月,完全忽略第 11 个月。


    $sollStart = '2019-10-31 00:00:01';

    $sollEnde = '2019-12-31 23:59:59';

    $start = new DateTime($sollStart);

    $end = new DateTime($sollEnde);

    $periodInterval = new \DateInterval('P1M');

    $periodIterator = new \DatePeriod($start, $periodInterval, $end);

    foreach ($periodIterator as $monat) {

        echo $monat->format('m');           

    }

如果我将开始日期更改为 2019-10-30,它将按预期工作。


我不知道要改变什么才能让它工作。


三国纷争
浏览 78回答 1
1回答

jeck猫

尝试这个:$sollstart&nbsp; &nbsp; = (new DateTime('2019-10-31 00:00:01'))->modify('first day of this month');$sollend&nbsp; &nbsp; &nbsp; = (new DateTime('2019-12-31 23:59:59'))->modify('first day of this month');$interval = DateInterval::createFromDateString('1 month');$period&nbsp; &nbsp;= new DatePeriod($sollstart, $interval, $sollend);foreach ($period as $m) {&nbsp; &nbsp; echo $m->format("m") . "<br>";}
打开App,查看更多内容
随时随地看视频慕课网APP