为什么这段代码不会引发“ParseException”?
DateFormat formatter = new SimpleDateFormat("dd/mm/yyyy");
try {
String date = "01/01/200'";
formatter.parse(date);
} catch (ParseException ex) {
throw new ParseException("Formato de fecha inválido",0);
}
请向我解释一下,我对此感到困惑。并注意简单的引用 '
最佳答案
因为这是应该做的。 如果您检查docs on DateFormat它说明了参数。
source - 应解析其开头的字符串。
如果您想限制格式,则必须使用正则表达式。
另请检查 SimpleDateformat 的规则关于年份:
对于解析,如果模式字母的数量超过 2,则无论位数多少,年份都会按字面解释。因此,使用模式“MM/dd/yyyy”,“01/11/12”解析为公元 12 年 1 月 11 日。
关于java - 当最后一个字符为非数字时 SimpleDateFormat 无法引发异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8058119/