Cara Membandingkan Tarikh dengan Mengabaikan Masa
Kelas java.util.Date termasuk komponen masa, yang boleh merumitkan perbandingan antara tarikh. Untuk mengabaikan bahagian masa, pertimbangkan pendekatan berikut:
Menggunakan Perpustakaan Masa Joda:
Joda Time menyediakan penyelesaian yang mudah:
DateTime first = ...; DateTime second = ...; LocalDate firstDate = first.toLocalDate(); LocalDate secondDate = second.toLocalDate(); return firstDate.compareTo(secondDate);
Atau, untuk kesederhanaan yang lebih besar:
return DateTimeComparator.getDateOnlyInstance().compare(first, second);
Menggunakan Kalendar (Kurang Disyorkan):
Jika Joda Time tidak tersedia, anda boleh mencipta contoh Kalendar dengan tarikh yang ditentukan dan zon waktu serta kosongkan medan masa secara manual:
Calendar firstCalendar = Calendar.getInstance(); firstCalendar.setTime(first); firstCalendar.set(Calendar.HOUR_OF_DAY, 0); firstCalendar.set(Calendar.MINUTE, 0); firstCalendar.set(Calendar.SECOND, 0); firstCalendar.set(Calendar.MILLISECOND, 0); Calendar secondCalendar = ... // Do the same for second date return firstCalendar.compareTo(secondCalendar);
Atas ialah kandungan terperinci Bagaimana untuk Membandingkan Tarikh dalam Java Mengabaikan Masa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!