首頁  >  文章  >  Java  >  如何比較沒有時間部分的日期?

如何比較沒有時間部分的日期?

Barbara Streisand
Barbara Streisand原創
2024-11-08 07:21:01672瀏覽

How to Compare Dates Without the Time Portion?

比較不帶時間部分的日期

比較日期時,可能需要忽略時間部分而只專注於當天,月份和年份。這通常在確定兩個事件是否在同一天發生等場景中完成。以下是如何實現不含時間的日期比較:

使用 Joda Time

Joda Time 為日期操作和比較提供了便捷的解決方案。要比較不帶時間的日期:

DateTime first = ...;
DateTime second = ...;

LocalDate firstDate = first.toLocalDate();
LocalDate secondDate = second.toLocalDate();

return firstDate.compareTo(secondDate);

或者,使用DateTimeComparator:

return DateTimeComparator.getDateOnlyInstance().compare(first, second);

使用Java 內建API(日曆)

使用Java 內建API(日曆)

Calendar firstDate = Calendar.getInstance();
Calendar secondDate = Calendar.getInstance();

firstDate.setTime(first);
secondDate.setTime(second);

firstDate.set(Calendar.HOUR_OF_DAY, 0);
firstDate.set(Calendar.MINUTE, 0);
firstDate.set(Calendar.SECOND, 0);
firstDate.set(Calendar.MILLISECOND, 0);

secondDate.set(Calendar.HOUR_OF_DAY, 0);
secondDate.set(Calendar.MINUTE, 0);
secondDate.set(Calendar.SECOND, 0);
secondDate.set(Calendar.MILLISECOND, 0);

return firstDate.compareTo(secondDate);

如果Joda Time不可用,請使用Java內建日曆API:

Android 開發者快速參考

dependencies {
  ...
  implementation 'joda-time:joda-time:2.9.9'
}

新增Joda Time 依賴:

DateTimeComparator dateTimeComparator = DateTimeComparator.getDateOnlyInstance();

Date myDateOne = ...;
Date myDateTwo = ...;

int retVal = dateTimeComparator.compare(myDateOne, myDateTwo);
程式碼範例:

以上是如何比較沒有時間部分的日期?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn