我想确切知道从今天开始有多少个月和几天(可能是几年)。有没有办法做到这一点?
我知道如何获得月份的差异,我知道如何在几天内获得差异。但我无法得到月和日。
例如:
old ='2013-03-04' now ='2013-04-17'
所以我要找的结果是1个月和13 *天
*也许它的12我不是很确定。
答案 0 :(得分:4)
这可以通过在JodaTime中使用Period来完成。
例如,
LocalDate old = new LocalDate(2013, 3, 4);
LocalDate now = new LocalDate(2013, 4, 17);
Period p = new Period(old, now, PeriodType.yearMonthDay());
要获得月份,请使用p.getMonths()
获取日期p.getDays()
。
示例的结果是1个月,13天。
答案 1 :(得分:1)
是的,请参阅the documentation间隔:
<强>间隔强>
Joda-Time中的间隔表示从1开始的时间间隔 瞬间到了另一个瞬间。两个瞬间都是完全指定的瞬间 在日期时间连续体中,包含时区。
间隔实现为半开放,也就是说开始 瞬间是包容性的,但最终瞬间是独家的。结局是 始终大于或等于开头。两个终点都是 限于具有相同的年表和相同的时区。
提供了两个实现,Interval和MutableInterval,两者 是ReadableInterval的特化。