我有这段代码:
DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
dateFormat.setLenient(false);
Date date = dateFormat.parse("10/20/20128");
我希望 dateFormat.parse 调用抛出 ParseException,因为我提供的年份是 5 个字符长,而不是我定义的格式中的 4 个字符。但出于某种原因,即使将 lenient 设置为 false,此调用也会返回 10/20/20128 的 Date 对象。
这是为什么?这对我来说没有多大意义。是否有其他设置使其更加严格?
原文由 goe 发布,翻译遵循 CC BY-SA 4.0 许可协议
20128 年是有效的一年,我猜 Java 希望世界能活那么久。
参考。
如果您想验证日期是否在限制范围内,您可以定义一个并检查 -