它似乎并不直截了当.
我在尝试这个:
@Override
public int compare(Period o1, Period o2) {
return o1.toStandardDays().getDays() > o2.toStandardDays().getDays() ? -1 : (o1.toStandardDays().getDays() == o2.toStandardDays().getDays() ? 0 : 1);
}
Run Code Online (Sandbox Code Playgroud)
但是我得到了这个例外:
java.lang.UnsupportedOperationException: Cannot convert to Days as this period contains months and months vary in length
at org.joda.time.Period.checkYearsAndMonths(Period.java:1455)
at org.joda.time.Period.toStandardDays(Period.java:1314)
我希望Peroid有一种isLongerThan(Period p)方法.
Mat*_*all 13
来自Joda文档:
要比较两个句点的实际持续时间,请将两者都转换为持续时间
toDuration,这一操作强调结果可能会根据您选择的日期而有所不同.
这两种toDuration方法是BasePeriod#toDurationTo(ReadableInstant)和BasePeriod#toDurationFrom(ReadableInstant).这意味着您必须选择此期间的开始或结束时刻才能计算其持续时间.
如果这对您来说是个问题,那么您可能希望直接使用Duration而不是Period.
| 归档时间: |
|
| 查看次数: |
10257 次 |
| 最近记录: |