Rumah  >  Artikel  >  Java  >  Bagaimana untuk Membandingkan Tarikh dalam Java Tidak Termasuk Masa?

Bagaimana untuk Membandingkan Tarikh dalam Java Tidak Termasuk Masa?

Linda Hamilton
Linda Hamiltonasal
2024-11-09 08:16:02509semak imbas

How to Compare Dates in Java Excluding Time?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn