How to Compare Dates by Ignoring Time
The java.util.Date class includes a time component, which can complicate comparisons between dates. To disregard the time portion, consider the following approaches:
Using Joda Time Library:
Joda Time provides a convenient solution:
DateTime first = ...; DateTime second = ...; LocalDate firstDate = first.toLocalDate(); LocalDate secondDate = second.toLocalDate(); return firstDate.compareTo(secondDate);
Or, for even greater simplicity:
return DateTimeComparator.getDateOnlyInstance().compare(first, second);
Using Calendar (Less Recommended):
If Joda Time is unavailable, you can create Calendar instances with the specified date and time zone and manually clear the time fields:
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);
The above is the detailed content of How to Compare Dates in Java Ignoring Time?. For more information, please follow other related articles on the PHP Chinese website!