// 如果日期不合法,则抛异常
try {
String date_str = "5555-22-33";
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
format.setLenient(false);
Date date = format.parse(date_str);
} catch (Exception ex){
ex.printStackTrace();
System.out.println("日期不合法");
}
JDK 中的注释说明:
/**
* Specify whether or not date/time parsing is to be lenient. With
* lenient parsing, the parser may use heuristics to interpret inputs that
* do not precisely match this object's format. With strict parsing,
* inputs must match this object's format.
*
* <p>This method is equivalent to the following call.
* <blockquote><pre>
* getCalendar().setLenient(lenient)
* </pre></blockquote>
*
* <p>This leniency value is overwritten by a call to {@link
* #setCalendar(java.util.Calendar) setCalendar()}.
*
* @param lenient when {@code true}, parsing is lenient
* @see java.util.Calendar#setLenient(boolean)
*/
public void setLenient(boolean lenient)
{
calendar.setLenient(lenient);
}
本文详细解析了如何在Java中处理日期格式异常,通过使用`SimpleDateFormat`类设置`setLenient(false)`来确保日期格式严格匹配,并提供了JDK中关于此方法的注释说明,帮助开发者理解其作用与用法。
1015

被折叠的 条评论
为什么被折叠?



