Java Joda LocalDate比较是否相等或前后
我想比较joda LocalDate对象,并检查/比较两个日期之间的日期 例如:Java Joda LocalDate比较是否相等或前后,java,jodatime,Java,Jodatime,我想比较joda LocalDate对象,并检查/比较两个日期之间的日期 例如: LocalDate date = new LocalDate(2019, 2, 2); LocalDate end = new LocalDate(); LocalDate start = end.minusYears(1); 现在,我想检查date是否介于start和end之间。 另外,我希望它像gte和lte一样工作。。。在前面或相等,在后面或相等 我只能找到isBefore,isAfter,isEqual。
LocalDate date = new LocalDate(2019, 2, 2);
LocalDate end = new LocalDate();
LocalDate start = end.minusYears(1);
现在,我想检查date
是否介于start
和end
之间。
另外,我希望它像gte
和lte
一样工作。。。在前面或相等,在后面或相等
我只能找到isBefore
,isAfter
,isEqual
。。。但是我找不到是beforequal
和是beforequal
有任何实用程序可以与joda LocalDate一起使用吗?有什么有效的方法来解决这个问题吗
我想先检查isBefore
然后检查isEqual
,再检查isAfter
然后检查isEqual
。。。但我认为它相当长或效率低下
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);
}
在Alex在下面的评论之后,我重写了方法isbeforequal
和isAfterOrEqual
,而且要短得多。非常感谢,亚历克斯
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);
}
谢谢 “在Alex说的话之前或之后”===“不是之后”,或者你可以
date.compareTo(compareToDate)>=0
等等。就像任何类似的。谢谢大家,是的,我试过Alex说的,而且短了很多。因为isbeforequal
我刚刚用了!日期。isAfter(比较日期)