gpt4 book ai didi

java - 如何比较两个 Joda 时间段

转载 作者:太空狗 更新时间:2023-10-29 22:40:50 55 4
gpt4 key购买 nike

这看起来并不直截了当。

我正在尝试:

@Override
public int compare(Period o1, Period o2) {
return o1.toStandardDays().getDays() > o2.toStandardDays().getDays() ? -1 : (o1.toStandardDays().getDays() == o2.toStandardDays().getDays() ? 0 : 1);
}

但是我得到了这个异常(exception):

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) 方法。

最佳答案

来自 the Joda Documentation :

To compare the actual duration of two periods, convert both to durations using toDuration, an operation that emphasises that the result may differ according to the date you choose.

两个toDuration 方法是BasePeriod#toDurationTo(ReadableInstant)BasePeriod#toDurationFrom(ReadableInstant) .这意味着您必须选择此期间的开始或结束时刻,以便能够计算其持续时间。

如果这对您来说是个问题,那么您可能想直接使用 Duration 而不是 Period

关于java - 如何比较两个 Joda 时间段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6467950/

55 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com