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

关于日期大小的比较问题
我写了一个日期大小的比较类  
代码如下public   boolean   dateMaxCompare(Date   date,   Date   anotherDate){
java.util.Calendar       cal       =       java.util.Calendar.getInstance();      
cal.setTime(anotherDate);
anotherDate   =cal.getTime();
cal.setTime(date);
boolean       after     =       cal.after(anotherDate);
if(after){
    return   true;
  }
   
else{
return   false;
}
}
其中的anotherDate   格式是yyyy-mm-hh:mm:ss     date是通过new   Date()得到的
然后我先把anotherDate   通过SetTime   函数转换成与date格式相同的日期   再比较
但是数据库中得到了anotherDate     2007-04-30   18:22:22   与今天的五月一号比较
after函数返回的是false   请帮帮忙   是不能比较呢   还是怎么回事

------解决方案--------------------
要比较的话直接用2个date的 相减然后 在转换成你想要的格式!
因为date是表示 1970 年 1 月 1 日 00:00:00 GMT 以后 time 毫秒的时间点,所以直接相减
------解决方案--------------------
用Calendar直接比啊
java.util.Calendar cal1 = java.util.Calendar.getInstance();
java.util.Calendar cal2 = java.util.Calendar.getInstance();

cal1.setTime(anotherDate);
cal2.setTime(date);
if (cal2.after(cal1)) {
return true;
} else {
return false;
}