工作中遇到需要将两个时间进行比对,所以书写如下方法来实现:
public static void main(String[] args) {
boolean tof = compareTime("2018-05-11", "2018-05-12", "yyyy-MM-dd");
System.out.println(tof);
}
public static boolean compareTime(String time1, String time2, String format)
{
SimpleDateFormat sdf=new SimpleDateFormat(format);
try {
Date a=sdf.parse(time1);
Date b=sdf.parse(time2);
if(a.before(b))
{
return true;
} else
{
return false;
}
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
}
}
如上图例子返回为true;
需要注意的是formate参数和输入的两个时间必须是匹配的,
如输入时间为2018-03-20,则formate不可以为yyyy-MM-dd hh:mm:ss,会抛异常;
但是输入时间为2018-05-12 08:12:00,而formate可以为yyyy-MM-dd;
当然还是建议三个参数格式完全相同;