4 Cara Membandingkan Dua Tanggal di Jawa

Daftar Isi:

4 Cara Membandingkan Dua Tanggal di Jawa
4 Cara Membandingkan Dua Tanggal di Jawa

Video: 4 Cara Membandingkan Dua Tanggal di Jawa

Video: 4 Cara Membandingkan Dua Tanggal di Jawa
Video: Inkscape PDF export: tricky settings explained 2024, Maret
Anonim

Ada berbagai cara untuk membandingkan tanggal Java. Secara internal, tanggal direpresentasikan sebagai titik (panjang) dalam waktu -- jumlah milidetik yang telah berlalu sejak 1 Januari 1970. Di Jawa, Date adalah sebuah objek, yang berarti mencakup beberapa metode untuk perbandingan. Metode apa pun untuk membandingkan dua tanggal pada dasarnya akan membandingkan waktu tanggal.

Langkah

Metode 1 dari 4: Menggunakan compareTo

4301351 1
4301351 1

Langkah 1. Gunakan compareTo

Date mengimplementasikan Comparable sehingga dua tanggal dapat dibandingkan secara langsung dengan metode compareTo. Jika tanggal untuk titik waktu yang sama, metode mengembalikan nol. Jika tanggal yang dibandingkan sebelum argumen tanggal, nilai yang kurang dari nol akan dikembalikan. Jika tanggal yang dibandingkan setelah argumen tanggal, nilai yang lebih besar dari nol akan dikembalikan. Jika tanggalnya sama, nilai 0 dikembalikan.

4301351 2
4301351 2

Langkah 2. Buat objek tanggal

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

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); //Untuk mendeklarasikan nilai pada objek tanggal baru. gunakan format tanggal yang sama saat membuat tanggal Date date1 = sdf.parse("1995-02-23"); //date1 adalah 23 Februari 1995 Tanggal date2 = sdf.parse("2001-10-31"); //date2 adalah 31 Oktober 2001 Tanggal date3 = sdf.parse("1995-02-23"); //tanggal3 adalah 23 Februari 1995

4301351 3
4301351 3

Langkah 3. Bandingkan objek tanggal

Kode di bawah ini akan menunjukkan setiap kasus -- kurang dari, sama, dan lebih besar dari.

    date1.compareTo(date2); //date1 < date2, mengembalikan kurang dari 0 date2.compareTo(date1); //date2 > date1, mengembalikan lebih besar dari 0 date1.compareTo(date3); //date1 = date3, jadi akan mencetak 0 ke konsol

Metode 2 dari 4: Menggunakan Persamaan, Setelah, dan Sebelum

4301351 4
4301351 4

Langkah 1. Gunakan equals, after dan before

Tanggal dapat dibandingkan dengan metode yang sama, setelah dan sebelum. Jika dua tanggal untuk titik waktu yang sama, metode equals akan mengembalikan nilai true. Contoh akan menggunakan tanggal yang dibuat sebelumnya dari metode compareTo.

4301351 5
4301351 5

Langkah 2. Bandingkan menggunakan metode sebelumnya

Kode di bawah ini menunjukkan kasus benar dan salah. Jika date1 sebelum date2, sebelum mengembalikan true. Jika tidak, sebelum mengembalikan false.

    System.out.print(date1.before(date2)); //mencetak benar System.out.print(date2.before(date2)); //cetak salah

4301351 6
4301351 6

Langkah 3. Bandingkan menggunakan metode after

Kode di bawah ini menunjukkan kasus benar dan salah. Jika date2 setelah date1, setelah mengembalikan true. Jika tidak, setelah mengembalikan false.

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

4301351 7
4301351 7

Langkah 4. Bandingkan menggunakan metode equals

Kode di bawah ini menunjukkan kasus benar dan salah. Jika tanggalnya sama, equals mengembalikan true. Jika tidak, equals mengembalikan false.

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

Metode 3 dari 4: Menggunakan Kelas Kalender

4301351 8
4301351 8

Langkah 1. Gunakan kalender

Kelas kalender juga memiliki metode compareTo, equals, after dan before yang bekerja dengan cara yang sama seperti yang dijelaskan di atas untuk kelas tanggal. Jadi jika informasi tanggal diadakan di kalender, tidak perlu mengekstrak tanggal hanya untuk melakukan perbandingan.

4301351 9
4301351 9

Langkah 2. Buat instance Kalender

Untuk menggunakan metode Kalender, Anda memerlukan beberapa instance Kalender. Untungnya, Anda bisa mengambil waktu dari instance Date yang sudah dibuat.

    Kalender cal1 = Kalender.getInstance(); //mendeklarasikan cal1 Kalender cal2 = Calendar.getInstance(); //mendeklarasikan cal2 Kalender cal3 = Calendar.getInstance(); //deklarasikan cal3 cal1.setTime(date1); //menerapkan tanggal ke cal1 cal2.setTime(date2); cal3.setTime(tanggal3);

4301351 10
4301351 10

Langkah 3. Bandingkan cal1 dan cal2 menggunakan sebelumnya

Kode di bawah ini harus benar karena cal1 sebelum cal2.

    System.out.print(cal1.before(cal2)); //akan mencetak true

4301351 11
4301351 11

Langkah 4. Bandingkan cal1 dan cal2 menggunakan after

Kode di bawah ini harus dicetak salah karena cal1 sebelum cal2.

    System.out.print(cal1.after(cal2)); //cetak salah

4301351 12
4301351 12

Langkah 5. Bandingkan cal1 dan cal2 menggunakan equals

Kode di bawah ini akan menunjukkan contoh kasus benar dan salah. Kondisi tergantung pada contoh kalender yang dibandingkan. Kode harus mencetak "benar", lalu "salah" pada baris berikutnya.

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

Metode 4 dari 4: Menggunakan getTime

4301351 13
4301351 13

Langkah 1. Gunakan getTime

Dimungkinkan juga untuk secara langsung membandingkan titik waktu dari dua tanggal, meskipun salah satu pendekatan sebelumnya cenderung lebih mudah dibaca dan lebih disukai. Ini akan menjadi perbandingan dua tipe data primitif, sehingga dapat dilakukan dengan "", dan "==".

4301351 14
4301351 14

Langkah 2. Buat objek waktu lama

Sebelum Anda dapat membandingkan tanggal, Anda harus membuat bilangan bulat panjang dengan data dari objek Tanggal yang dibuat sebelumnya. Untungnya, metode getTime() akan melakukan sebagian besar pekerjaan untuk Anda.

    lama waktu1 = getTime(tanggal1); // mendeklarasikan primitif time1 dari date1 long time2 = getTime(date2); //mendeklarasikan waktu2 primitif dari tanggal2

4301351 15
4301351 15

Langkah 3. Lakukan perbandingan kurang dari

Gunakan simbol kurang dari (<) untuk membandingkan dua nilai bilangan bulat ini. Karena time1 kurang dari waktu 2, pesan pertama harus dicetak. Pernyataan else disertakan untuk sintaks yang tepat.

    if(time1 < time2){ System.out.println("tanggal1 sebelum tanggal2"); //akan mencetak sejak time1 <time2 } else{ System.out.println("tanggal1 tidak sebelum tanggal2"); }

4301351 16
4301351 16

Langkah 4. Lakukan perbandingan yang lebih besar dari

Gunakan simbol lebih besar dari (>) untuk membandingkan dua nilai bilangan bulat ini. Karena waktu1 lebih besar dari waktu 2, pesan pertama harus dicetak. Pernyataan else disertakan untuk sintaks yang tepat.

    if(time2 > time1){ System.out.println("date2 setelah date1"); //akan mencetak sejak waktu2 > waktu1 } else{ System.out.println("tanggal2 tidak setelah tanggal1"); }

4301351 17
4301351 17

Langkah 5. Lakukan perbandingan yang sama

Gunakan simbol untuk memeriksa kesetaraan (==) untuk membandingkan dua nilai bilangan bulat ini untuk kesetaraan. Karena time1 sama dengan time3, pesan pertama harus dicetak. Jika program sampai ke pernyataan lain, itu berarti waktunya tidak sama.

    if(time1 == time2){ System.out.println("tanggal sama"); } else{ System.out.println("tanggal tidak sama"); //akan mencetak sejak time1 != time2 }

Direkomendasikan: