Date1.after(Date2),当Date1大于Date2时,返回TRUE,当小于等于时,返回false;
Date1.before(Date2),当Date1小于Date2时,返回TRUE,当大于等于时,返回false;
如果业务数据存在相等的时候,而且相等时也需要做相应的业务判断或处理时,请注意。
如果有这样的需求,在某个日期内的业务check,那么你需要使用:!Date1.after(Date2)
或如下:
Date start=ECSDateUtils.toDate(policy.getSTARTDATE(),"yyyyMMdd");
Date end=ECSDateUtils.toDate(policy.getENDDATE(),"yyyyMMdd");
SimpleDateFormat sf = new SimpleDateFormat("yyyyMMdd");
Date now=ECSDateUtils.toDate(sf.format(new Date()),"yyyyMMdd");
logger.info("验证系统当前时间是否处于保单开始时间与截至时间之间chdrnum:"+chdrnum);
/**start<=now<=end*/
if(now.compareTo(start)>=0 && end.compareTo(now)>=0){
logger.info("赠送资格在合法时间内!chdrnum:"+chdrnum);
}else {
logger.info("赠送资格已经过期!chdrnum:"+chdrnum);
erromsg="赠送资格已过期!";
return erromsg;
}
比较两个日期
// create two dates
Date date = new Date(98, 5, 21);
Date date2 = new Date(99, 1, 9);
// make 3 comparisons with them
int comparison = date.compareTo(date2);
int comparison2 = date2.compareTo(date);
int comparison3 = date.compareTo(date);
// print the results
System.out.println("Comparison Result:" + comparison);
System.out.println("Comparison2 Result:" + comparison2);
System.out.println("Comparison3 Result:" + comparison3);
运行结果:
Comparison Result:-1 Comparison2 Result:1 Comparison3 Result:0