Rumah >Java >javaTutorial >Bagaimana untuk Membandingkan Tarikh dalam Java Tanpa Komponen Masa?

Bagaimana untuk Membandingkan Tarikh dalam Java Tanpa Komponen Masa?

Linda Hamilton
Linda Hamiltonasal
2024-11-24 17:14:12976semak imbas

How to Compare Dates in Java Without Time Components?

Membandingkan Tarikh mengikut Tarikh Sahaja

Apabila berurusan dengan objek java.util.Date, anda mungkin menghadapi keperluan untuk membandingkan tarikh tanpa mengambil kira komponen masa. Soalan ini mencari kaedah mudah untuk perbandingan ini.

Penyelesaian dengan Masa Joda

Pendekatan pilihan adalah menggunakan perpustakaan Joda Time, yang menyediakan penyelesaian yang elegan:

DateTime first = ...;
DateTime second = ...;

LocalDate firstDate = first.toLocalDate();
LocalDate secondDate = second.toLocalDate();

return firstDate.compareTo(secondDate);

Sebagai alternatif, anda boleh memudahkan perbandingan dengan menggunakan DateTimeComparator.getDateOnlyInstance():

// TODO: Consider extracting this comparator to a field.
return DateTimeComparator.getDateOnlyInstance().compare(first, second);

Pendekatan Java Asli

Jika menggunakan Joda Time bukan pilihan, anda boleh menggunakan API Java asli, walaupun proses lebih menyusahkan:

  1. Buat contoh Kalendar untuk kedua-dua tarikh, dengan menyatakan yang sesuai zon waktu.
  2. Tetapkan medan jam, minit, saat dan milisaat setiap Kalendar kepada 0.
  3. Bandingkan kejadian Kalendar yang terhasil.

Perhatikan bahawa pendekatan ini memerlukan pengendalian zon waktu yang teliti sejak java.util.Date sentiasa berdasarkan UTC.

Atas ialah kandungan terperinci Bagaimana untuk Membandingkan Tarikh dalam Java Tanpa Komponen 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