首頁 > Java > java教程 > 如何比較沒有時間部分的日期?

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

Barbara Streisand
發布: 2024-11-08 07:21:01
原創
778 人瀏覽過

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中文網其他相關文章!

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