Joda LocalDate 比较是否相等或前后

Bor*_*toy 7 java jodatime

我想比较 joda LocalDate 对象并检查/比较日期是否在两个日期之间。

例子:

LocalDate date = new LocalDate(2019, 2, 2);
LocalDate end = new LocalDate();
LocalDate start = end.minusYears(1);
Run Code Online (Sandbox Code Playgroud)

现在,我想检查是否datestart和 之间endgte另外,我希望它像and lte... 之前或等于并且之后或等于一样工作。

我只能找到isBefore, isAfter, isEqual... 但找不到isBeforeOrEqualisAfterOrEqual

有没有可以与 joda LocalDate 一起使用的实用程序?有什么有效的方法可以解决这个问题吗?

我想检查一下isBefore,与那时isEqual一样......但我认为它很长或效率低下。isAfterisEqual

private boolean isBeforeOrEqual(LocalDate date, LocalDate compareToDate) {
    if (date == null || compareToDate == null) {
        return false;
    }
    return compareToDate.isBefore(date) || compareToDate.isEqual(date);
}

private boolean isAfterOrEqual(LocalDate date, LocalDate compareToDate) {
    if (date == null || compareToDate == null) {
        return false;
    }
    return compareToDate.isAfter(date) || compareToDate.isEqual(date);
}
Run Code Online (Sandbox Code Playgroud)

在亚历克斯下面的评论之后,我重写了方法isBeforeOrEqualisAfterOrEqual并且它短了很多。非常感谢亚历克斯。

private boolean isBeforeOrEqual(LocalDate date, LocalDate compareToDate) {
    if (date == null || compareToDate == null) {
        return false;
    }
    return !compareToDate.isAfter(date);
}

private boolean isAfterOrEqual(LocalDate date, LocalDate compareToDate) {
    if (date == null || compareToDate == null) {
        return false;
    }
    return !compareToDate.isBefore(date);
}
Run Code Online (Sandbox Code Playgroud)

谢谢!