如何通过忽略时间来比较日期
java.util.Date 类包含一个时间组件,这会使日期之间的比较变得复杂。要忽略时间部分,请考虑以下方法:
使用 Joda Time Library:
Joda Time 提供了一个方便的解决方案:
DateTime first = ...; DateTime second = ...; LocalDate firstDate = first.toLocalDate(); LocalDate secondDate = second.toLocalDate(); return firstDate.compareTo(secondDate);
或者,为了更简单:
return DateTimeComparator.getDateOnlyInstance().compare(first, second);
使用日历(不太推荐):
如果 Joda Time 不可用,您可以创建指定日期和时区的日历实例并手动清除时间字段:
Calendar firstCalendar = Calendar.getInstance(); firstCalendar.setTime(first); firstCalendar.set(Calendar.HOUR_OF_DAY, 0); firstCalendar.set(Calendar.MINUTE, 0); firstCalendar.set(Calendar.SECOND, 0); firstCalendar.set(Calendar.MILLISECOND, 0); Calendar secondCalendar = ... // Do the same for second date return firstCalendar.compareTo(secondCalendar);
以上是如何在 Java 中忽略时间来比较日期?的详细内容。更多信息请关注PHP中文网其他相关文章!