SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
System.out.println(format.format(date));
try {
// 设置lenient为false. 否则SimpleDateFormat会比较宽松地验证日期,
//比如2007/02/29会被接受,并转换成2007/03/01
format.setLenient(false);
format.parse(next);
System.out.println("正确");
} catch (ParseException e) {
// e.printStackTrace();
// 如果throw java.text.ParseException或者NullPointerException,就说明格式不对
System.out.println("错误");
}
如何使用正则表达式验证日期格式为 yyyy-MM-dd
String regex = "(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]
{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|
[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|
[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)";
if(!next.matches(regex)){
System.out.println("错误");
}else{
System.out.println("正确");
}
验证日期格式方面推荐使用第一种