Banyak cara untuk membandingkan dua tanggal pada bahasa pemrograman Java. Dalam komputer, sebuah tanggal diwakili oleh sebuah bilangan (jenis data Long) dalam satuan waktu -- yaitu jumlah milidetik yang berlalu sejak 1 Januari 1970. Di dalam Java, Date adalah sebuah object , yang berarti Date memiliki beberapa metode untuk melakukan perbandingan. Metode apa pun yang dipakai dalam membandingkan 2 buah tanggal pada intinya membandingkan satuan waktu dari kedua tanggal tersebut.
Langkah
-
Gunakan compareTo . Object Date mengimplementasikan Comparable<Date> jadi 2 buah tanggal bisa dibandingkan satu sama lain secara langsung dengan metode compareTo . Jika kedua tanggal memiliki bilangan yang sama dalam satuan waktu, maka metode akan mengembalikan nilai nol. Jika tanggal kedua lebih kecil dari tanggal pertama, maka sebuah nilai yang lebih kecil dari nol akan dikembalikan. Jika tanggal kedua lebih besar dari tanggal pertama, maka metode akan mengembalikan nilai yang lebih besar dari nol. Jika kedua tanggal sama, maka metode akan mengembalikan nilai nol. [1] X Teliti sumber
-
Buatlah beberapa object Date . Anda harus membuat beberapa object Date sebelum membandingkannya. Salah satu cara termudah untuk melakukannya adalah dengan memakai class SimpleDateFormat. Class ini memudahkan perubahan nilai tanggal masukan menjadi object Date .
SimpleDateFormat sdf = new SimpleDateFormat ( "yyyy-MM-dd" ). Untuk mendeklarasikan nilai dalam '' object Date '' yang baru , gunakan format tanggal yang sama ketika membuat tanggal . Date date1 = sdf . parse ( "1995-02-23" ); //date1 adalah 23 Februari 1995 Date date2 = sdf . parse ( "2001-10-31" ); //date2 adalah 31 Oktober 2001 Date date3 = sdf . parse ( "1995-02-23" ); //date3 adalah 23 Februari 1995
-
Bandingkan object Date tersebut. Kode berikut akan menunjukkan pada Anda contoh untuk setiap kasus -- less than (lebih kecil dari), equal (sama dengan), dan greater than (lebih besar dari).
date1 . compareTo ( date2 ); //date1 < date2, mengembalikan nilai lebih kecil dari 0 date2 . compareTo ( date1 ); //date2 > date1, mengembalikan nilai lebih besar dari 0 date1 . compareTo ( date3 ); //date1 = date3, jadi akan menampilkan nilai 0 pada konsol
Iklan
-
Gunakan equals, after dan before . Tanggal dapat dibandingkan menggunakan metode equals, after , dan before. Jika dua buah tanggal memiliki nilai yang sama dalam satuan waktu, metode equals akan mengembalikan nilai true . Contoh berikut akan memakai object Date yang dibuat pada contoh metode compareTo. [2] X Teliti sumber
-
Bandingkan dengan metode before . Kode berikut menampilkan contoh kasus yang menghasilkan nilai true dan false . Jika date1 adalah tanggal sebelum date2, metode before akan mengembalikan nilai true . Jika tidak, maka metode before akan mengembalikan nilai false .
System . out . print ( date1 . before ( date2 )); //menampilkan nilai ''true'' System . out . print ( date2 . before ( date2 )); //menampilkan nilai ''false''
-
Bandingkan menggunakan metode after . Kode berikut menunjukkan contoh kasus yang menghasilkan nilai true dan false . Jika date2 adalah tanggal setelah date1, metode after mengembalikan nilai true . Jika tidak, metode after akan mengembalikan nilai false .
System . out . print ( date2 . after ( date1 )); //menampilkan nilai ''true' System . out . print ( date1 . after ( date2 )); //menampilkan nilai ''false''
-
Bandingkan dengan metode equals . Kode berikut menunjukkan contoh kasus yang menghasilkan nilai true dan false . Jika kedua tanggal bernilai sama, maka metode equals akan mengembalikan nilai true . Jika tidak, maka metode equals akan mengembalikan nilai false .
System . out . print ( date1 . equals ( date3 )); //menampilkan nilai ''true'' System . out . print ( date1 . equals ( date2 )); //menampilkan nilai ''false''
Iklan
-
Gunakan Class Calendar . Class Calendar juga memiliki metode compareTo , equals , after , dan before yang berfungsi sama dengan yang telah dijabarkan sebelumnya untuk class Date . Jadi jika informasi tanggal disimpan dalam sebuah Class Calendar , Anda tidak perlu mengekstrak tanggal hanya untuk melakukan perbandingan. [3] X Teliti sumber
-
Buatlah instance Calendar . Untuk menggunakan metode pada Class Calendar , Anda harus membuat beberapa instance Calendar . Untungnya, Anda bisa memakai nilai dari instance Date yang telah dibuat sebelumnya.
Calendar cal1 = Calendar . getInstance (); //mendeklarasikan cal1 Calendar cal2 = Calendar . getInstance (); //mendeklarasikan cal2 Calendar cal3 = Calendar . getInstance (); //mendeklarasikan cal3 cal1 . setTime ( date1 ); //memasukkan tanggal ke dalam cal1 cal2 . setTime ( date2 ); cal3 . setTime ( date3 );
-
Bandingkan cal1 dan cal2 menggunakan metode before . Kode berikut akan menampilkan nilai tr
System . out . print ( cal1 . before ( cal2 )); //akan menampilkan nilai ''true''
-
Bandingkan cal1 dan cal2 menggunakan metode after . Kode berikut akan menampilkan nilai false karena cal1 adalah tanggal sebelum cal2.
System . out . print ( cal1 . after ( cal2 )); //menampilkan nilai ''false''
-
Bandingkan cal1 dan cal2 menggunakan metode equals . Kode berikut akan menunjukkan sebuah contoh kasus yang menghasilkan nilai true dan false . Kondisinya tergantung dari instance Calendar yang dibandingkan. Kode berikut akan menampilkan nilai "true", lalu "false" pada baris berikutnya.
System . out . println ( cal1 . equals ( cal3 )); //menampilkan nilai ''true'': cal1 == cal3 System . out . print ( cal1 . equals ( cal2 )); //menampilkan nilai ''false'': cal1 != cal2
Iklan
-
Gunakan getTime . Anda juga dapat langsung membandingkan nilai satuan waktu dari dua tanggal, meskipun kedua cara sebelumnya mungkin lebih mudah dibaca dan lebih disukai. Dengan cara ini Anda akan membandingkan 2 jenis data primitif, jadi Anda dapat memakai operand "<", ">", dan "==".
-
Buat object waktu dalam format bilangan Long . Sebelum Anda bisa membandingkan tanggal, Anda harus membuat nilai Long Integer dari object Date yang telah dibuat sebelumnya. Untungnya, metode getTime() akan melakukannya untuk Anda.
long time1 = getTime ( date1 ); //mendeklarasikan nilai primitif time1 dari date1 long time2 = getTime ( date2 ); //mendeklarasikan nilai primitif time2 dari date2
-
Lakukan perbandingan kurang dari. Gunakan operand kurang dari (<) untuk membandingkan kedua nilai integer ini. Karena time1 bernilai kurang dari time2, maka pesan pertama yang akan muncul. Statement else diikutsertakan untuk melengkapi sintaks.
if ( time1 < time2 ){ System . out . println ( "date1 adalah tanggal sebelum date2" ); //akan tampil karena time1 < time2 } else { System . out . println ( "date1 bukan tanggal sebelum date2" ); }
-
Lakukan perbandingan lebih besar dari. Gunakan operand lebih besar dari (>) untuk membandingkan kedua nilai integer ini. Karena time1 bernilai lebih besar dari time2, maka pesan pertama yang akan muncul. Statement else diikutsertakan untuk melengkapi sintaks.
if ( time2 > time1 ){ System . out . println ( "date2 adalah tanggal setelah date1" ); //akan tampil karena time2 > time1 } else { System . out . println ( "date2 bukan tanggal setelah date1" ); }
-
Lakukan perbandingan sama dengan. Gunakan operand yang berfungsi untuk memeriksa kesamaan nilai (==) untuk membandingkan kedua bilangan integer ini. Karena time1 sama dengan time3, maka pesan pertama akan tampil. Jika alur program masuk ke dalam statement else , maka itu berarti bahwa kedua waktu itu tidak memiliki nilai yang sama. [4] X Teliti sumber
if ( time1 == time2 ){ System . out . println ( "kedua tanggal sama" ); } else { System . out . println ( "tanggal 1 tidak sama dengan tanggal 2" ); //akan tampil karena time1 != time2 }
Iklan
Referensi
Tentang wikiHow ini
Halaman ini telah diakses sebanyak 9.460 kali.
Iklan