我正在尝试将两个日期与当前日期进行比较。当我试图知道日期是否与当前日期相同时,它似乎不起作用。这是我在代码中所做的:
//BeginDate is set earlier
Date myDate= new SimpleDateFormat("dd/MM/yyyy").parse(BeginDate);
Date now = new Date();
System.out.println("Now : " + now);
System.out.println("myDate : " + myDate);
System.out.println("equals : " + myDate.equals(now));
System.out.println(myDate.compareTo(now));
我在控制台中得到了这个:
Now : Thu Dec 29 00:28:45 CET 2011
myDate : Thu Dec 29 00:00:00 CET 2011
equals : false
-1
第一个比较应该返回 true 而第二个“0”对吗?还是我遗漏了什么?
最佳答案
使用 equals() 或 compareTo() 比较日期会比较时间(小时、分钟、秒、毫秒)以及日期。您的测试失败是因为 myDate
今天是午夜,而 now
比那个晚一点。
关于java - Java 中的日期比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8662567/