日期:2014-05-20  浏览次数:20965 次

在java.util.Date中,如何比较两个Date的大小,精确到分
如题。。。

------解决方案--------------------
Date自带的方法就可以
date1.before(date2)
或者
date1.afer(date2)
精确到毫秒
------解决方案--------------------
如果仅仅是精确到分的话(比如小于分的单位就忽略不计 算作相等)
那么你还是用getTime将"分"那部分的精度略掉吧
------解决方案--------------------
你的两个日期是什么类型的?Date型的话可以把两个日期用getTime()转换成自1970-01-01 00:00:00以来的毫秒数,然后比较它们的大小,如果是String型,先用SimpleDateFormat的parse("你的日期")转换成Date型,然后转换成毫秒比较!
------解决方案--------------------
for example
Java code
Date d1 = xxx;
Date d2 = yyy;
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c1.setTime(d1);
c2.setTime(d2);
c1.set(Calendar.SECOND, 0);
c1.set(Calendar.MILLISECOND, 0);
c2.set(Calendar.SECOND, 0);
c2.set(Calendar.MILLISECOND, 0);
if (c1.before(c2)) {
    System.out.println("c1 is smaller than c2");
} else if (c1.after(c2)) {
    System.out.println("c1 is bigger than c2");
} else {
    System.out.println("c1 equals c2");
}