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");
}
}
}
当我多次运行上述代码时(如果条件为日期时打印)“两个不相等”打印但是(对于日历的条件)有时打印“Cal Equal”,有时“Cal Not Equal”.有人可以解释一下为什么会这样吗?
我尝试这个的主要原因是因为我想比较两个日期.两者都具有相同的日,月和年,但是创建对象的时间不同.我希望它们相等(相同).我该怎么做?