我想从给定的日期和时间获取下个月的日期和时间。这是我现在的代码:
$dt = new DateTime('2019-01-31');
for ($i=0; $i < 10; $i++) {
$dt->add(new DateInterval('P1M'));
$final = $dt->format('Y-m-d');
echo $final."\n";
}
// Output:
// 2019-03-03
// 2019-04-03
// 2019-05-03
// 2019-06-03
// 2019-07-03
问题在于,它将日期从“31”变为“02”,因为二月份没有31号。因此,在那些没有30或31天的月份,我想跳过这些月份但保持相同的日期。
以下是期望输出结果:
// 2019-03-31
// 2019-05-31
// 2019-07-31
// 2019-08-31
// 2019-10-31
我怎样才能做到这一点?