我想比较 joda LocalDate 对象并检查/比较日期是否在两个日期之间。
例子:
LocalDate date = new LocalDate(2019, 2, 2);
LocalDate end = new LocalDate();
LocalDate start = end.minusYears(1);
Run Code Online (Sandbox Code Playgroud)
现在,我想检查是否date在start和 之间end。gte另外,我希望它像and lte... 之前或等于并且之后或等于一样工作。
我只能找到isBefore, isAfter, isEqual... 但找不到isBeforeOrEqual和isAfterOrEqual。
有没有可以与 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)
在亚历克斯下面的评论之后,我重写了方法isBeforeOrEqual,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);
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
| 归档时间: |
|
| 查看次数: |
22964 次 |
| 最近记录: |