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 ». Кто-нибудь, пожалуйста, объясните мне, почему это так?
Основная причина, по которой я пробовал это, потому что я хочу сравнить две даты. У обеих одинаковый день, месяц и год, но разное время день создания объектов Я хочу, чтобы они сравнивались равными (одинаковыми).