Rumah >Java >javaTutorial >Program Java untuk membandingkan tarikh untuk menentukan sama ada satu tarikh selepas tarikh lain
Dalam dunia pengaturcaraan Java, terdapat beberapa senario yang memerlukan kita berurusan dengan tarikh dan masa, seperti membangunkan aplikasi kalendar, sistem pengurusan kehadiran Java, dan menyemak umur dua orang. Tambahan pula, tarikh adalah cara merekod masa kerana ia adalah sebahagian daripada kehidupan seharian kita. Oleh itu, Java menyediakan kelas seperti Date dan LocalDate untuk mengendalikan tarikh dan masa. Selain itu, untuk membandingkan dan menyemak sama ada satu tarikh adalah selepas yang lain, ia menyediakan beberapa kaedah terbina dalam yang berguna seperti "compareTo()" dan "after()".
Sebelum menulis program Java untuk membandingkan dua tarikh, adalah perlu untuk memahami pernyataan masalah dengan bantuan contoh.
Masukkan 1
dateOne = "2023-01-20"; dateTwo = "2024-01-20";
Output
dateTwo is after dateOne
Masukkan 2
dateOne = "2023-06-20"; dateTwo = "2023-01-20";
Output
dateOne is after dateTwo
Seperti yang dinyatakan dalam bahagian sebelumnya, kita boleh menggunakan kaedah "compareTo()" dan "after()" untuk membandingkan dan menyemak sama ada satu tarikh selepas tarikh lain. Sekarang, mari kita bincangkan kaedah ini dan kemudian, kita akan masuk ke dalam pelaksanaan sebenar mereka.
after() ialah kaedah kelas Kalendar yang digunakan untuk mengenal pasti sama ada tarikh yang ditentukan adalah selepas tarikh yang diluluskan. Ia menerima tarikh sebagai hujah dan mengembalikan benar jika objek tarikh pertama datang selepas objek tarikh yang diluluskan, sebaliknya palsu.
dateOne.after(dateTwo);
Antara muka Sebanding hanya mentakrifkan kaedah yang dipanggil "CompareTo", yang menyediakan fungsi untuk membandingkan objek kelas dengan dirinya sendiri. Ia mengembalikan 0 apabila objek tarikh pertama sama dengan objek yang diluluskan, nilai positif jika objek tarikh pertama lebih besar, dan nilai negatif sebaliknya.
dateOne.compareTo(dateTwo);
Dalam contoh berikut, kami akan menggunakan kelas Kalendar daripada pakej "java.util", yang menyediakan sistem kalendar dalam Java. Dan, untuk menyemak sama ada tarikh pertama adalah selepas tarikh kedua, kami akan menggunakan kaedah "selepas()" bersama-sama dengan blok if-else.
import java.util.Calendar; public class Example1 { public static void main(String[] args) { // creating two instances of Calendar class Calendar dateOne = Calendar.getInstance(); Calendar dateTwo = Calendar.getInstance(); // setting date, month and year for first instance dateOne.set(Calendar.YEAR, 2024); dateOne.set(Calendar.MONTH, 07); dateOne.set(Calendar.DATE, 25); System.out.println("The date one is: 25 July 2024"); // setting date, month and year for second instance dateTwo.set(Calendar.YEAR, 2023); dateTwo.set(Calendar.MONTH, 07); dateTwo.set(Calendar.DATE, 25); System.out.println("The date two is: 25 July 2023"); // checking if dateOne is after dateTwo if(dateOne.after(dateTwo)) { System.out.println("Date One is after Date Two!"); } else { System.out.println("Date One is before Date Two!"); } } }
The date one is: 25 July 2024 The date two is: 25 July 2023 Date One is after Date Two!
Dalam contoh ini, kami akan menggunakan kelas SimpleDateFormat dan Date dengan kaedah compareTo() untuk membandingkan dan menyemak sama ada tarikh pertama selepas tarikh kedua. Di sini, SimpleDateFormat ialah kelas dalam Java yang membolehkan kami menukar tarikh kepada rentetan (pemformatan) dan menukar rentetan kepada tarikh dalam format asli (penghuraian). Dan, Tarikh ialah kelas yang mewakili tempoh masa tertentu dalam milisaat.
import java.text.SimpleDateFormat; import java.util.Date; public class Example2 { public static void main(String[] args) throws Exception { // creating instance of SimpleDateFormat SimpleDateFormat timeformat = new SimpleDateFormat("yy/MM/dd"); // initializing two dates Date dateOne = timeformat.parse("23/06/01"); System.out.println("The date one is: " + dateOne); Date dateTwo = timeformat.parse("23/07/01"); System.out.println("The date two is: " + dateTwo); // checking if dateOne is after dateTwo if(dateOne.compareTo(dateTwo) == 1) { System.out.println("Date One is after Date Two!"); } else { System.out.println("Date One is before Date Two!"); } } }
The date one is: Thu Jun 01 00:00:00 GMT 2023 The date two is: Sat Jul 01 00:00:00 GMT 2023 Date One is before Date Two!
Dalam artikel ini, kami mempelajari cara membandingkan dua tarikh dalam Java untuk menyemak sama ada satu tarikh datang demi tarikh lain. Untuk melakukan ini, kami menggunakan dua kaedah terbina dalam yang dipanggil compareTo() dan after(). Selain itu, kami menemui cara untuk menentukan tarikh dalam program Java dengan bantuan kelas SimpleDateFormat dan Kalendar.
Atas ialah kandungan terperinci Program Java untuk membandingkan tarikh untuk menentukan sama ada satu tarikh selepas tarikh lain. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!