Perbandingan Tarikh Tidak Termasuk Masa: Penerokaan Menggunakan Masa Joda
Di Java, objek java.util.Date mewakili kedua-dua tarikh dan masa. Apabila membandingkan tarikh, selalunya wajar untuk mengabaikan bahagian masa dan memberi tumpuan semata-mata pada tarikh itu sendiri.
Joda Time: Penyelesaian Ringkas
Joda Time, perpustakaan terkenal untuk pengiraan temporal, menawarkan penyelesaian yang elegan. Ia menyediakan kaedah toLocalDate(), yang mengekstrak maklumat tarikh daripada objek DateTime, membuang atribut masa.
DateTime first = ...; DateTime second = ...; LocalDate firstDate = first.toLocalDate(); LocalDate secondDate = second.toLocalDate(); return firstDate.compareTo(secondDate);
Sebagai alternatif, anda boleh menggunakan kaedah DateTimeComparator.getDateOnlyInstance(), yang memudahkan proses perbandingan:
return DateTimeComparator.getDateOnlyInstance().compare(first, second);
API Terbina dalam Alternatif
Jika Joda Time bukan pilihan, anda boleh melaraskan tika Kalendar secara manual untuk mewakili tarikh sahaja, menghapuskan medan jam, minit, saat dan milisaat.
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);
Walau bagaimanapun, ambil perhatian bahawa kaedah ini lebih rumit dan kurang mantap berbanding dengan pendekatan Joda Time.
Atas ialah kandungan terperinci Bagaimana untuk Membandingkan Tarikh dalam Java Tidak Termasuk Masa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!