Compare Calendar and java.util.date dates

date, java

Solution

Try to clear the value of calendar before set a new one. This will solve your problem.

Calendar calendarDate=Calendar.getInstance();
calendarDate.clear();
calendarDate.set(2012, 6, 1,0,0,0);

Test for it:

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

import org.junit.Assert;

public class DateTest {

    @org.junit.Test
    public void test() {
        Calendar calendarDate=Calendar.getInstance();
        calendarDate.clear();
        calendarDate.set(2012, 6, 1,0,0,0);
        Assert.assertEquals(0, calendarDate.getTime().compareTo(new Date(2012 - 1900,7-1, 01)));
    }

}

Problem

Hi i am creating instance of Calendar Using: ``` Calendar calendarDate=Calendar.getInstance(); calendarDate.set(2012, 6, 1,0,0,0); Date date1=calendar.getTime(); ``` After that i create instance of java.util.date using: ``` Date date2=new Date(2012 - 1900,7-1, 01); ``` Now when i am trying to compare dates using following code: ``` System.out.println(date2.compareTo(date1)); System.out.println(date1.compareTo(date2)); ``` it prints -1 and 1 instead of 0(zero). Can any one help me to find what's goes wrong ?

Original source