Joda Time daysBetween() 返回字符串前缀 "P" 和后缀 "D"



我使用Joda Time获取两天之间的daysBetween(),但它返回的是两天之间没有任何一天,数据的前缀和后缀添加了"p"&"D"表示介于和"P"之间的天数;"Y"表示相同年份之间的年份,单位为monthsBetween()、yearsBetween)、hoursBetween[()、minutesBetween]()和secondsBetween[()。

如何获得没有前缀和后缀字符串的数据?

DateTime start = new DateTime(2004, 12, 25, 0, 0, 0, 0);
DateTime end = new DateTime(2006, 1, 1, 0, 0, 0, 0);
// able to calculate whole days between two dates easily
Days days = Days.daysBetween(start, end);
// able to calculate whole months between two dates easily
Months months = Months.monthsBetween(start, end);

前缀/后缀只是持续时间的字符串表示,它基于ISO8601,如这些类的toString javadoc中所述。

如果你只想要天数,你可以使用:

int days = Days.daysBetween(start, end).getDays();

类似地,Months具有getMonths方法。

最新更新