Unduh PDF Unduh PDF

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.

Metode 1
Metode 1 dari 4:

Menggunakan compareTo

Unduh PDF
  1. 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]
  2. 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 
      
  3. 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
Metode 2
Metode 2 dari 4:

Menggunakan Equals, After dan Before

Unduh PDF
  1. 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]
  2. 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'' 
      
  3. 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'' 
      
  4. 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
Metode 3
Metode 3 dari 4:

Menggunakan Class Calendar

Unduh PDF
  1. 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]
  2. 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 
       ); 
      
  3. Kode berikut akan menampilkan nilai tr
       System 
       . 
       out 
       . 
       print 
       ( 
       cal1 
       . 
       before 
       ( 
       cal2 
       )); 
       //akan menampilkan nilai ''true'' 
      
  4. Kode berikut akan menampilkan nilai false karena cal1 adalah tanggal sebelum cal2.
       System 
       . 
       out 
       . 
       print 
       ( 
       cal1 
       . 
       after 
       ( 
       cal2 
       )); 
       //menampilkan nilai ''false'' 
      
  5. 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
Metode 4
Metode 4 dari 4:

Menggunakan getTime

Unduh PDF
  1. 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 "==".
  2. 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 
      
  3. 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" 
       ); 
       } 
      
  4. 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" 
       ); 
       } 
      
  5. 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]
       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

Tentang wikiHow ini

Halaman ini telah diakses sebanyak 9.076 kali.

Apakah artikel ini membantu Anda?

Iklan