比较两个java.util.Date类型日期,返回其中的最小值??
写了以下这个方法,就是有两个java.util.Date类型日期,对他们进行比较,如果都为空就返回当前日期,如果有一个为空,就返回那个非空的日期,否则,就返回比较小的那个日期,用下面这个方法,感觉不是最好的,是不是啰嗦阿,哪位能帮忙简化一下,谢谢了!
private java.util.Date dateCompareToMix(java.util.Date dateFirst,java.util.Date dateLast) {
java.util.Date mixDate = null;
Calendar calValue = Calendar.getInstance();
Calendar calFirst = Calendar.getInstance();
Calendar calLast = Calendar.getInstance();
if (dateFirst == null && dateLast == null){
mixDate=calValue.getTime();
}else if (dateFirst == null ){
mixDate=dateLast;
}else if (dateLast == null ){
mixDate=dateFirst;
}else{
calFirst.setTime(dateFirst);
calLast.setTime(dateLast);
if (calFirst.before(calLast)){
mixDate=dateFirst;
}else{
mixDate=dateLast;
}
}
return mixDate;
}
------解决方案--------------------Date有一个before(Date d)和一个after(Date d)函数,就是用来比较日期大小的。
------解决方案--------------------long diff = dateFirst.getTime() - dateLast.getTime();
if(diff < 0){
}else if(diff==0){
}else{
}
------解决方案--------------------if (startdate.compareTo(enddate) > 0)
startdate enddate为两个日期。。
------解决方案--------------------private java.util.Date dateCompareToMix(java.util.Date dateFirst,java.util.Date dateLast) {
dateFirst = dateFirst == null? new java.util.Date():dateFirst;
return dateLast==null?dateFirst:(dateFirst.before(dateLast)?dateFirst:dateLast)
}