SimpleDateFormat未按预期工作

san*_*ndy 1 java time date date-format simpledateformat

我使用"MM/dd/yyyy hh:mm a"来初始化SimpleDateFormat.setLenient选项设置为false.以下是一些用例

1)输入字符串:-01/02/2001 3:09 AM预期: - 应该传递实际: - 通过

2)输入字符串:-01/02/20016 3:09 AM预期: - 不应该传递实际: - 通过我不明白为什么20016被解析为有效的!!!!!

mpr*_*vat 6

我认为它是在Javadoc SimpleDateFormat:

年份:对于格式化,如果模式字母的数量为2,则年份被截断为2位数; 否则它被解释为一个数字.

所以基本上,你可以将它约束为2,但除此之外,它是一个int.所以4-y并不意味着4,它只是"不是2".