Проблема с календарем Java: почему эти две даты не равны?

import java.io.*;

public class testing {
    public static void main(String a[]) throws Exception{
        Date d1=new Date();
        Thread.sleep(2000);
        Date d2=new Date();
        if(d1.equals(d2)){
            System.out.println("Both equal");
        }else{
            System.out.println("Both not equal");
        }
        Calendar c1=Calendar.getInstance();
        Calendar c2=Calendar.getInstance();
        c1.setTime(d1);
        c2.setTime(d2);
        c1.clear(Calendar.HOUR);
        c1.clear(Calendar.MINUTE);
        c1.clear(Calendar.SECOND);
        c2.clear(Calendar.HOUR);
        c2.clear(Calendar.MINUTE);
        c2.clear(Calendar.SECOND);
        if(c2.compareTo(c1) == 0){
            System.out.println("Cal Equal");
        }else {
            System.out.println("Cal Not Equal");
        }
    }
}

Когда я запускаю приведенный выше код несколько раз, каждый раз (для печати, если условия даты) печатается «Оба не равны», но (для условия if календаря) иногда он печатает Равно », а иногда и« Cal Not Equal ». Кто-нибудь, пожалуйста, объясните мне, почему это так?

Основная причина, по которой я пробовал это, потому что я хочу сравнить две даты. У обеих одинаковый день, месяц и год, но разное время день создания объектов Я хочу, чтобы они сравнивались равными (одинаковыми).

8
задан Russell Dias 28 October 2010 в 12:19
поделиться