【发布时间】:2013-04-16 22:14:54
【问题描述】:
我正在使用 Joda Time library 从 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 实现相同的行为?
【问题讨论】: