最近项目上有个业务逻辑是比对两个时间大小,不过这两个时间是只比对时分秒的(比如:五点十三分十四秒5:13:14)针对这种我们可以直接给时间写死拼接一个年月日就可以直接使用日期的date1.compareTo(date2)方法了
具体可以用下面的代码实现
public boolean checkDate(String superDate,String endDate) throws ParseException{
boolean isMember = false;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String memberEndTime = "2020-12-12 "+endDate;//user.getMemberEndTime();
String superDate1 = "2020-12-12 "+superDate;
Date memberEndDate = sdf.parse(memberEndTime);
Date superDate2 = sdf.parse(superDate1);
if (sdf.parse(sdf.format(superDate2)).compareTo(memberEndDate) <= 0) {
isMember = true;
}
return isMember;
}
//也可以直接比较
flagEnabel = df.parse(df.format(new Date())).compareTo(df.parse(startDate));
//startDate为从数据库中获取的时分秒,比如:12:58:00,而df.parse(startDate)为默认拼接年月日