JAVA Calender Membandingkan 2 tanggal tanpa jam pada objek Calender (date/calendar)

Bagaimana membandingkan 2 tanggal TANPA ADA JAM ? Jadi yg dibandingkan tgl nya saja.
Java tidak bisa menghilangkan waktu dari date dan calendar,
biasanya solusinya adalah menyamakan jam, menit, detik dan milisecond semua object tanggal. jika semua sama otomatis bisa dianggap tidak ada.

berikut ini contohnya :

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package olap.test;

import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

/**
 *
 * @author yanuarhadiyanto
 */
public class TesPerbandinganHanyaTanggal {

    public static void main(String[] args) {
        //tanggal awal-------
        Date tglwaktu1 = new Date(2015 - 1900, 1, 1, 10, 20);
        Date tglwaktu2 = new Date(2016 - 1900, 2, 3, 10, 30);

        System.out.println(tglwaktu1);
        System.out.println(tglwaktu2);

        //buat calendar----------
        Calendar c1 = new GregorianCalendar();
        Calendar c2 = new GregorianCalendar();

        //masukkan tanggal ke calendar
        c1.setTime(tglwaktu1);
        c2.setTime(tglwaktu2);
        
        //waktu tidak bisa dihilangkan dari date/calendar
        //jadi jika ingin melakukan perbandingan tgl tanpa waktu, semua waktu
        //diset sama pada contoh ini di set jam ke 0 menit ke 0 second ke 1
        samakanWaktu(c1);
        samakanWaktu(c2);
        
        //hasilnya
        System.out.println(c1);
        System.out.println(c2);
    }

    public static void samakanWaktu(Calendar c) {
        c.set(Calendar.HOUR, 0);
        c.set(Calendar.MINUTE, 0);
        c.set(Calendar.SECOND, 0);
        c.set(Calendar.MILLISECOND, 1);
    }
}

No comments:

Post a Comment