我写了一小段代码来暴露我的问题。
public class date {
public static void main(String args[]) {
SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy",Locale.ENGLISH);
System.out.println("The date format is : dd-MM-yyyy.");
String date1 = "20-06-2012";
System.out.println("The date1 is : " + date1);
String date2 = "2012-06-20";
System.out.println("The date2 is : " + date2);
try {
System.out.println(formatter.parse(date1).toString());
System.out.println(formatter.parse(date2).toString());
} catch (ParseException e) {
e.printStackTrace();
}
}
}
输出如下所示:
The date format is : dd-MM-yyyy.
The date1 is : 20-06-2012
The date2 is : 2012-06-20
Wed Jun 20 00:00:00 EDT 2012
Mon Dec 03 00:00:00 EST 25
问题是我希望在提交的日期与 中指定的模式不匹配时引发错误SimpleDateFormat
,不幸的是,它看起来像是在字符串中的正确位置看到数字,由破折号分隔,因此它通过了。是否有其他工具可以做到这一点,还是我错误地使用了SimpleDateFormat
?