排除時間的日期比較:使用Joda Time 的探索
在Java 中, java.util.Date 物件同時表示日期和時間。比較日期時,通常需要忽略時間部分並僅專注於日期本身。
Joda Time:簡化的解決方案
Joda Time,著名的庫對於時間計算,提供了一個優雅的解決方案。它提供了 toLocalDate() 方法,該方法從 DateTime 物件中提取日期訊息,並丟棄時間屬性。
DateTime first = ...; DateTime second = ...; LocalDate firstDate = first.toLocalDate(); LocalDate secondDate = second.toLocalDate(); return firstDate.compareTo(secondDate);
或者,您可以使用DateTimeComparator.getDateOnlyInstance() 方法,簡化了比較過程:
return DateTimeComparator.getDateOnlyInstance().compare(first, second);
內建API替代方案
內建API替代方案Calendar firstCalendar = Calendar.getInstance(); Calendar secondCalendar = Calendar.getInstance(); firstCalendar.set(Calendar.HOUR_OF_DAY, 0); firstCalendar.set(Calendar.MINUTE, 0); firstCalendar.set(Calendar.SECOND, 0); firstCalendar.set(Calendar.MILLISECOND, 0); secondCalendar.set(Calendar.HOUR_OF_DAY, 0); secondCalendar.set(Calendar.MINUTE, 0); secondCalendar.set(Calendar.SECOND, 0); secondCalendar.set(Calendar.MILLISECOND, 0); return firstCalendar.compareTo(secondCalendar);
以上是如何比較 Java 中的日期(不包含時間)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!