首頁 > Java > java教程 > 如何比較 Java 中的日期(不包含時間)?

如何比較 Java 中的日期(不包含時間)?

Linda Hamilton
發布: 2024-11-09 08:16:02
原創
551 人瀏覽過

How to Compare Dates in Java Excluding Time?

排除時間的日期比較:使用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);
登入後複製

內建如果Joda Time 不可行,您可以手動調整Calendar實例以僅表示日期,消除小時、分鐘、秒和毫秒欄位。 但請注意,與 Joda Time 方法相比,此方法更麻煩且穩健性較差。

以上是如何比較 Java 中的日期(不包含時間)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板