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: BAGAIMANA CARA EKSPOR BARANG KE LUAR NEGERI KHUSUS PEMULA - KETUM KPMI & Ir. Nursyamsu M, M.Si 2024, April
Anonim

Terdapat pelbagai cara untuk membandingkan tarikh Java. Secara dalaman, tarikh dinyatakan sebagai titik (panjang) waktu - jumlah milisaat yang telah berlalu sejak 1 Januari 1970. Di Jawa, Tarikh adalah objek, yang bermaksud merangkumi pelbagai kaedah untuk perbandingan. Sebarang kaedah membandingkan dua tarikh pada asasnya akan membandingkan masa tarikh.

Langkah-langkah

Kaedah 1 dari 4: Menggunakan membandingkanTo

4301351 1
4301351 1

Langkah 1. Gunakan membandingkanTo

Tarikh dilaksanakan Sebanding dan dua tarikh dapat dibandingkan secara langsung dengan kaedah membandingkanTo. Sekiranya tarikh untuk titik masa yang sama, kaedah mengembalikan sifar. Sekiranya tarikh yang dibandingkan adalah sebelum argumen tarikh, nilai kurang dari sifar dikembalikan. Sekiranya tarikh yang dibandingkan adalah selepas argumen tarikh, nilai yang lebih besar daripada sifar dikembalikan. Sekiranya tarikhnya sama, nilai 0 dikembalikan.

4301351 2
4301351 2

Langkah 2. Buat objek tarikh

Anda perlu membuat setiap objek tarikh sebelum dapat membandingkannya. Salah satu cara untuk melakukannya adalah dengan menggunakan kelas SimpleDateFormat. Ini memungkinkan kemasukan nilai tarikh ke objek tarikh dengan mudah.

    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 ialah 23 Februari 1995

4301351 3
4301351 3

Langkah 3. Bandingkan objek tarikh

Kod di bawah akan menunjukkan setiap kes - kurang daripada, sama, dan lebih besar daripada.

    date1.compareTo (tarikh2); // tarikh1 <tarikh2, mengembalikan kurang dari 0 tarikh2.compareTo (tarikh1); // tarikh2> tarikh1, pulangan lebih besar daripada 0 tarikh1.compareTo (tarikh3); // date1 = date3, jadi akan mencetak 0 untuk 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 untuk titik masa yang sama, kaedah sama akan kembali benar. Contohnya akan menggunakan tarikh yang dibuat sebelumnya dari kaedah membandingkanTo.

4301351 5
4301351 5

Langkah 2. Bandingkan menggunakan kaedah sebelumnya

Kod di bawah menunjukkan kes yang benar dan salah. Sekiranya tarikh1 sebelum tarikh2, sebelum kembali benar. Sekiranya tidak, sebelum kembali palsu.

    System.out.print (tarikh1. Sebelum (tarikh2)); // mencetak benar System.out.print (date2.before (date2)); // cetakan palsu

4301351 6
4301351 6

Langkah 3. Bandingkan menggunakan kaedah selepas

Kod di bawah menunjukkan kes yang benar dan salah. Sekiranya tarikh2 adalah selepas tarikh1, selepas kembali benar. Sekiranya tidak, selepas kembali palsu.

    System.out.print (date2.after (date1)); // mencetak benar System.out.print (date1.after (date2)); // mencetak palsu

4301351 7
4301351 7

Langkah 4. Bandingkan menggunakan kaedah sama

Kod di bawah menunjukkan kes yang benar dan salah. Sekiranya tarikhnya sama, pulangan sama dengan benar. Sekiranya tidak, pulangan sama dengan palsu.

    System.out.print (date1.equals (date3)); // mencetak benar System.out.print (date1.equals (date2)); // mencetak palsu

Kaedah 3 dari 4: Menggunakan Kelas Kalendar

4301351 8
4301351 8

Langkah 1. Gunakan kalendar

Kelas kalendar juga mempunyai kaedah membandingkanTo, sama, selepas dan sebelum yang berfungsi dengan cara yang sama seperti yang dijelaskan di atas untuk kelas tarikh. Oleh itu, jika maklumat tarikh disimpan dalam kalendar, tidak perlu mengekstrak tarikh hanya untuk melakukan perbandingan.

4301351 9
4301351 9

Langkah 2. Buat contoh Kalendar

Untuk menggunakan kaedah Kalendar, anda memerlukan beberapa contoh Kalendar. Nasib baik, anda boleh merebut masa dari contoh Tarikh yang telah dibuat.

    Kalendar cal1 = Calendar.getInstance (); // menyatakan cal1 Calendar cal2 = Calendar.getInstance (); // menyatakan cal2 Calendar cal3 = Calendar.getInstance (); // menyatakan cal3 cal1.setTime (tarikh1); // menggunakan tarikh untuk cal1 cal2.setTime (tarikh2); cal3.setTime (tarikh3);

4301351 10
4301351 10

Langkah 3. Bandingkan cal1 dan cal2 menggunakan sebelumnya

Kod di bawah harus dicetak benar kerana cal1 adalah sebelum cal2.

    System.out.print (cal1.be sebelumnya (cal2)); // akan dicetak benar

4301351 11
4301351 11

Langkah 4. Bandingkan cal1 dan cal2 menggunakan selepas

Kod di bawah harus dicetak palsu kerana cal1 sebelum cal2.

    System.out.print (cal1.after (cal2)); // cetakan palsu

4301351 12
4301351 12

Langkah 5. Bandingkan cal1 dan cal2 menggunakan sama

Kod di bawah akan menunjukkan contoh kes benar dan palsu. Keadaan bergantung pada contoh kalendar yang dibandingkan. Kod tersebut hendaklah mencetak "true", kemudian "false" pada baris seterusnya.

    System.out.println (cal1.equals (cal3)); // mencetak benar: cal1 == cal3 System.out.print (cal1.equals (cal2)); // mencetak palsu: cal1! = cal2

Kaedah 4 dari 4: Menggunakan getTime

4301351 13
4301351 13

Langkah 1. Gunakan getTime

Anda juga dapat membandingkan titik waktu dua tarikh secara langsung, walaupun pendekatan sebelumnya mungkin lebih mudah dibaca dan lebih disukai. Ini akan menjadi perbandingan dua jenis data primitif, sehingga dapat dilakukan dengan "", dan "==".

4301351 14
4301351 14

Langkah 2. Buat objek lama

Sebelum anda dapat membandingkan tarikh, anda mesti membuat bilangan bulat panjang dengan data dari objek Tarikh yang dibuat sebelumnya. Nasib baik, kaedah getTime () akan membuat sebahagian besar kerja untuk anda.

    lama1 = getTime (tarikh1); // menyatakan waktu primitif1 dari tarikh1 lama2 = getTime (tarikh2); // menyatakan waktu primitif2 dari tarikh2

4301351 15
4301351 15

Langkah 3. Lakukan perbandingan kurang

Gunakan simbol kurang daripada (<) untuk membandingkan dua nilai integer ini. Oleh kerana time1 kurang dari waktu 2, mesej pertama harus dicetak. Pernyataan lain disertakan untuk sintaks yang betul.

    jika (time1 <time2) {System.out.println ("date1 adalah sebelum tarikh2"); // akan dicetak sejak time1 <time2} lain {System.out.println ("date1 tidak sebelum tarikh2"); }

4301351 16
4301351 16

Langkah 4. Lakukan lebih besar daripada perbandingan

Gunakan simbol lebih besar daripada (>) untuk membandingkan dua nilai integer ini. Oleh kerana masa1 lebih besar daripada masa 2, mesej pertama harus dicetak. Pernyataan lain disertakan untuk sintaks yang betul.

    jika (time2> time1) {System.out.println ("date2 adalah selepas tarikh1"); // akan dicetak sejak time2> time1} lain {System.out.println ("date2 bukan selepas tarikh1"); }

4301351 17
4301351 17

Langkah 5. Lakukan perbandingan yang sama

Gunakan simbol untuk memeriksa kesamaan (==) untuk membandingkan dua nilai integer ini untuk kesamaan. Oleh kerana time1 sama dengan time3, mesej pertama harus dicetak. Sekiranya program sampai ke pernyataan lain, itu bermakna masa tidak sama.

    if (time1 == time2) {System.out.println ("tarikhnya sama"); } lain {System.out.println ("tarikhnya tidak sama"); // akan dicetak sejak waktu1! = masa2}

Disyorkan: