Java SimpleDateFormat 没有抛出 ParseException

Java SimpleDateFormat not throwing ParseException

DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
System.out.println(df.parse("32/12/2016"));
System.out.println(df.parse("30/02/2017"));
System.out.println(df.parse("31/11/2016"));

我希望上述所有情况都如 ParseException 但我得到的输出如下:

Sun Jan 01 00:00:00 GMT 2017

Thu Mar 02 00:00:00 GMT 2017

Thu Dec 01 00:00:00 GMT 2016

在我的例子中,以上所有场景都是验证失败的一个。

注意: 我不能做 equals(post 和预解析日期。)也是为什么,因为我的日期输入可能是 DD/MM/YYYY或 D/M/YY.

还有其他方法吗?

您可以调用 df.setLenient(false); 来验证日期是否有效。