比較不帶時間部分的日期
比較日期時,可能需要忽略時間部分而只專注於當天,月份和年份。這通常在確定兩個事件是否在同一天發生等場景中完成。以下是如何實現不含時間的日期比較:
使用 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中文網其他相關文章!