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);
来验证日期是否有效。
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);
来验证日期是否有效。