如果我使用这段代码,我会得到奇怪的结果:
$datetime = new DateTime('2015-01-31');
$datetime->modify('+1 month');
echo $datetime->format('Y-m-t') . "<br>";
$datetime->modify('+1 month');
echo $datetime->format('Y-m-t') . "<br>";
$datetime->modify('+1 month');
echo $datetime->format('Y-m-t') . "<br>";
Run Code Online (Sandbox Code Playgroud)
我明白了:
2015-03-31
2015-04-30
2015-05-31
Run Code Online (Sandbox Code Playgroud)
而不是2015-02-28.
怎么修?
如果你想获取下个月的最后一天,你可以使用:
$datetime->modify('last day of next month');
Run Code Online (Sandbox Code Playgroud)