PHP 日期时间::修改添加和减去月份
我一直在使用DateTime类
,最近在添加月份时遇到了一个我认为是错误的错误。经过一些研究,它似乎不是一个错误,而是按预期工作。根据此处找到的文档:
示例 #2 添加或减去月份时要小心
<?php
$date = new DateTime('2000-12-31');
$date->modify('+1 month');
echo $date->format('Y-m-d') . "\n";
$date->modify('+1 month');
echo $date->format('Y-m-d') . "\n";
?>
The above example will output: 2001-01-31 2001-03-03
任何人都可以证明为什么这不被认为是一个错误?
此外,有没有人有任何优雅的解决方案来纠正这个问题,并使其+1个月将按预期工作,而不是按预期工作?