我正在使用Joda Time 库从 LocalDate 中减去一个月:
LocalDate date = new LocalDate(2013, 3, 31);
System.out.println(date.minusMonths(1));
结果是 2013 年 2 月 28 日,这是我直观地期望的结果,也记录在API中:
如果减去月份使月份中的某日无效,则将其调整为该月的最后一个有效日期。
但是,在我当前的项目中,我需要与一些现有的 PHP 代码兼容,如下所示:
$date = new \DateTime('2013-03-31');
echo $date->sub(new \DateInterval('P1M'))->format('Y-m-d');
这里的结果是 2013-03-03,即“滚动”到下个月。
如何使用 Joda Time 实现相同的行为?