如果我在JodaTime中有两个时刻,例如
DateTime then=new DateTime(0);
DateTime now=DateTime.now();
我希望得到这两个日期之间的年数,我可以做到
new Period(then,now).getYears();
或
Years.yearsBetween(then,now);
但问题是如果间隔不是确切的年数,这两种方法都将返回年数的下限。因此,例如,你有两个相隔两年零11个月的瞬间,它仍会返回" 0"年份。
JodaTime是否有任何方式可以获得数年,数月等数字?
这样做的目的是希望以人性化的格式显示持续时间,例如
1 year, 11 months, 30 days, 1 hour -> 2 years.
6 days 4 hours 1 minute -> 1 week
4 hours 18 minutes 5 seconds -> 4 hours
因此,我希望显示适当的舍入数量。
我想我可以检查一下这个区间的末尾是否接近N个单位或N + 1个单位,但是有更好的方法吗?