Rumah  >  Artikel  >  Java  >  Program Java untuk membandingkan tarikh untuk menentukan sama ada satu tarikh selepas tarikh lain

Program Java untuk membandingkan tarikh untuk menentukan sama ada satu tarikh selepas tarikh lain

WBOY
WBOYke hadapan
2023-09-20 19:41:08616semak imbas

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()".

Program Java untuk membandingkan tarikh (jika satu tarikh selepas tarikh lain)

Sebelum menulis program Java untuk membandingkan dua tarikh, adalah perlu untuk memahami pernyataan masalah dengan bantuan contoh.

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.

selepas()

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.

Tatabahasa

dateOne.after(dateTwo);

compareTo()

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.

Tatabahasa

dateOne.compareTo(dateTwo);

Contoh 1

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!");
      }
   }
}

Output

The date one is: 25 July 2024
The date two is: 25 July 2023
Date One is after Date Two!

Contoh 2

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!");
      }
   }
}

Output

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!

Kesimpulan

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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam