4 Cara Membandingkan Dua Tarikh di Jawa

Isi kandungan:

4 Cara Membandingkan Dua Tarikh di Jawa
4 Cara Membandingkan Dua Tarikh di Jawa

Video: 4 Cara Membandingkan Dua Tarikh di Jawa

Video: 4 Cara Membandingkan Dua Tarikh di Jawa
Video: Belajar Java Dari Awal - 1 - Program Java Pertama dengan Netbeans 2024, November
Anonim

Ada banyak cara untuk membandingkan dua tarikh dalam bahasa pengaturcaraan Java. Dalam komputer, tarikh ditunjukkan oleh angka (jenis data Panjang) dalam satuan waktu - iaitu, jumlah milisaat yang telah berlalu sejak 1 Januari 1970. Di Jawa, Tarikh adalah objek, yang bermaksud beberapa kaedah untuk membuat perbandingan. Sebarang kaedah yang digunakan untuk membandingkan dua tarikh pada asasnya adalah membandingkan unit masa bagi dua tarikh tersebut.

Langkah

Kaedah 1 dari 4: Menggunakan membandingkanTo

4301351 1
4301351 1

Langkah 1. Gunakan membandingkanTo

Objek Date melaksanakan Sebanding sehingga 2 tarikh dapat dibandingkan antara satu sama lain secara langsung dengan kaedah membandingkanTo. Sekiranya kedua-dua tarikh mempunyai bilangan yang sama dalam unit masa, maka kaedah mengembalikan sifar. Sekiranya tarikh kedua kurang dari yang pertama, nilai kurang dari sifar dikembalikan. Sekiranya tarikh kedua lebih besar daripada yang pertama, kaedah mengembalikan nilai yang lebih besar daripada sifar. Sekiranya kedua-dua tarikh adalah sama, maka kaedah tersebut akan mengembalikan nilai nol.

4301351 2
4301351 2

Langkah 2. Buat pelbagai objek Tarikh

Anda mesti membuat banyak objek Tarikh sebelum membandingkannya. Salah satu kaedah termudah untuk melakukannya adalah dengan menggunakan kelas SimpleDateFormat. Kelas ini memudahkan untuk menukar nilai tarikh input menjadi objek Date.

    SimpleDateFormat sdf = SimpleDateFormat baru ("yyyy-MM-dd"). Untuk menyatakan nilai dalam "Objek Tarikh" baru, gunakan format tarikh yang sama semasa membuat tarikh. Tarikh tarikh1 = sdf.parse ("1995-02-23"); // tarikh1 ialah 23 Februari 1995 Tarikh tarikh2 = sdf.parse ("2001-10-31"); // tarikh2 ialah 31 Oktober 2001 Tarikh tarikh3 = sdf.parse ("1995-02-23"); // tarikh3 adalah 23 Februari 1995

4301351 3
4301351 3

Langkah 3. Bandingkan objek Tarikh

Kod berikut akan menunjukkan contoh bagi setiap kes - kurang daripada, sama, dan lebih besar daripada.

    date1.compareTo (tarikh2); // date1 <date2, mengembalikan nilai kurang dari 0 date2.compareTo (date1); // date2> date1, mengembalikan nilai yang lebih besar daripada 0 date1.compareTo (date3); // date1 = date3, jadi akan mengeluarkan 0 pada konsol

Kaedah 2 dari 4: Menggunakan Sama, Selepas dan Sebelum

4301351 4
4301351 4

Langkah 1. Gunakan sama, selepas dan sebelum

Tarikh boleh dibandingkan dengan kaedah yang sama, selepas, dan sebelum. Sekiranya dua tarikh mempunyai nilai yang sama dalam masa, kaedah sama kembali benar. Contoh berikut akan menggunakan objek Date yang dibuat dalam kaedah exampleTo.

4301351 5
4301351 5

Langkah 2. Bandingkan dengan kaedah sebelumnya

Kod berikut menunjukkan contoh contoh yang mengembalikan benar dan salah. Sekiranya tarikh1 adalah tarikh sebelum tarikh2, kaedah sebelumnya kembali benar. Jika tidak, kaedah sebelum kembali palsu.

    System.out.print (tarikh1. Sebelum (tarikh2)); // paparkan nilai "true" System.out.print (date2.before (date2)); // kembalikan nilai '' palsu ''

4301351 6
4301351 6

Langkah 3. Bandingkan menggunakan kaedah selepas

Kod berikut menunjukkan contoh contoh yang mengembalikan benar dan salah. Sekiranya tarikh2 adalah tarikh selepas tarikh1, kaedah selepasnya kembali benar. Jika tidak, kaedah selepas itu akan kembali palsu.

    System.out.print (date2.after (date1)); // paparkan nilai '' true '' System.out.print (date1.after (date2)); // paparkan nilai '' false ''

4301351 7
4301351 7

Langkah 4. Bandingkan dengan kaedah sama

Kod berikut menunjukkan contoh contoh yang mengembalikan benar dan salah. Sekiranya kedua-dua tarikh itu sama, kaedah sama kembali benar. Jika tidak, kaedah sama kembali palsu.

    System.out.print (date1.equals (date3)); // paparkan nilai '' true '' System.out.print (date1.equals (date2)); // paparkan nilai '' false ''

Kaedah 3 dari 4: Menggunakan Kalendar Kelas

4301351 8
4301351 8

Langkah 1. Gunakan Kalendar Kelas

Kelas Kalendar juga mempunyai kaedah membandingkanTo, sama, selepas, dan sebelum kaedah yang sama seperti yang dijelaskan sebelumnya untuk kelas Tarikh. Oleh itu, jika maklumat tarikh disimpan dalam Kalendar Kelas, anda tidak perlu mengekstrak tarikh hanya untuk membuat perbandingan.

4301351 9
4301351 9

Langkah 2. Buat contoh Kalendar

Untuk menggunakan kaedah dalam Kalendar Kelas, anda mesti membuat beberapa contoh Kalendar. Nasib baik, anda boleh menggunakan nilai dari contoh Tarikh yang dibuat sebelumnya.

    Kalendar cal1 = Calendar.getInstance (); // menyatakan cal1 Calendar cal2 = Calendar.getInstance (); // menyatakan cal2 Calendar cal3 = Calendar.getInstance (); // nyatakan cal3 cal1.setTime (tarikh1); // masukkan tarikh ke cal1 cal2.setTime (date2); cal3.setTime (tarikh3);

4301351 10
4301351 10

Langkah 3. Bandingkan cal1 dan cal2 menggunakan kaedah sebelumnya

Kod berikut akan mengeluarkan nilai tr

    System.out.print (cal1.be sebelumnya (cal2)); // akan mengembalikan nilai '' benar ''

4301351 11
4301351 11

Langkah 4. Bandingkan cal1 dan cal2 menggunakan kaedah selepas

Kod berikut akan kembali palsu kerana cal1 adalah tarikh sebelum cal2.

    System.out.print (cal1.after (cal2)); // kembalikan nilai '' palsu ''

4301351 12
4301351 12

Langkah 5. Bandingkan cal1 dan cal2 menggunakan kaedah sama

Kod berikut akan menunjukkan contoh contoh yang mengembalikan benar dan salah. Keadaan bergantung pada contoh Kalendar yang dibandingkan. Kod berikut akan mengembalikan nilai "true", kemudian "false" pada baris seterusnya.

    System.out.println (cal1.equals (cal3)); // kembalikan nilai '' true '': cal1 == cal3 System.out.print (cal1.equals (cal2)); // kembalikan nilai '' false '': cal1! = cal2

Kaedah 4 dari 4: Menggunakan getTime

4301351 13
4301351 13

Langkah 1. Gunakan getTime

Anda juga dapat membandingkan nilai unit masa dua tarikh secara langsung, walaupun dua kaedah sebelumnya mungkin lebih senang dibaca dan lebih disukai. Dengan cara ini anda akan membandingkan 2 jenis data primitif, jadi anda boleh menggunakan operan "", dan "==".

4301351 14
4301351 14

Langkah 2. Buat objek masa dalam format nombor Panjang

Sebelum anda dapat membandingkan tarikh, anda mesti membuat nilai Long Integer dari objek Date yang dibuat sebelumnya. Nasib baik, kaedah getTime () akan melakukannya untuk anda.

    lama1 = getTime (tarikh1); // menyatakan waktu primitif1 tarikh1 masa panjang2 = getTime (tarikh2); // nyatakan waktu primitif2 nilai tarikh2

4301351 15
4301351 15

Langkah 3. Lakukan perbandingan kurang

Gunakan operand kurang daripada (<) untuk membandingkan dua nilai integer ini. Oleh kerana time1 kurang dari time2, mesej pertama akan muncul. Pernyataan lain disertakan untuk menyelesaikan sintaks.

    jika (time1 <time2) {System.out.println ("date1 adalah tarikh sebelum tarikh2"); // akan ditunjukkan kerana time1 <time2} other {System.out.println ("date1 bukan tarikh sebelum tarikh2"); }

4301351 16
4301351 16

Langkah 4. Lakukan perbandingan lebih besar daripada

Gunakan operan lebih besar daripada (>) untuk membandingkan dua nilai integer ini. Kerana waktu1 lebih besar daripada waktu2, mesej pertama akan muncul. Pernyataan lain disertakan untuk menyelesaikan sintaks.

    jika (time2> time1) {System.out.println ("date2 adalah tarikh selepas tarikh1"); // akan ditunjukkan kerana time2> time1} other {System.out.println ("date2 bukan tarikh selepas tarikh1"); }

4301351 17
4301351 17

Langkah 5. Lakukan perbandingan sama

Gunakan fungsi operan untuk memeriksa persamaan nilai (==) untuk membandingkan dua bilangan bulat ini. Oleh kerana time1 sama dengan time3, mesej pertama akan muncul. Sekiranya aliran program masuk ke pernyataan yang lain, ini bermakna bahawa dua kali tidak mempunyai nilai yang sama.

    if (time1 == time2) {System.out.println ("kedua-dua tarikh adalah sama"); } lain {System.out.println ("Yang pertama tidak sama dengan yang ke-2"); // akan ditunjukkan kerana time1! = time2}

Disyorkan: