Java日期验证问题

Java日期验证问题,java,validation,date,Java,Validation,Date,以下是格式为MM/dd/yyyy的日期的验证代码 SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy"); formatter.setLenient(false); Calendar cal = Calendar.getInstance(); Date myDate = formatter.parse("01/02/2014888"); cal.setTime(myDate); 当日期字符串为01/02/2014888时,

以下是格式为MM/dd/yyyy的日期的验证代码

SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
formatter.setLenient(false);
Calendar cal = Calendar.getInstance();
Date myDate = formatter.parse("01/02/2014888");
cal.setTime(myDate);
当日期字符串为01/02/2014888时,它通过了验证。
如何正确地进行验证?

Calendar类将允许您在将来创建日期,因此2014888年是一个完全有效的年份,尽管还有很长的路要走。如果要向允许的日期添加其他约束,则需要自己检查这些值,例如:

    if (cal.get(Calendar.YEAR) > endOfTime) {
        // do something about it
    }

这是正确和有意的行为。有关更多详细信息,请参阅javadoc。有一些截止年并验证什么是验证该年的最佳实践?
2014888
是一个有效的年份,尽管它在未来非常遥远。如果你想“验证”,你需要先确定一个范围。