执行以下代码时,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,它将按预期工作。我不知道要改变什么才能让它工作。
1 回答
jeck猫
TA贡献1909条经验 获得超7个赞
尝试这个:
$sollstart = (new DateTime('2019-10-31 00:00:01'))->modify('first day of this month');
$sollend = (new DateTime('2019-12-31 23:59:59'))->modify('first day of this month');
$interval = DateInterval::createFromDateString('1 month');
$period = new DatePeriod($sollstart, $interval, $sollend);
foreach ($period as $m) {
echo $m->format("m") . "<br>";
}
- 1 回答
- 0 关注
- 77 浏览
添加回答
举报
0/150
提交
取消