SimpleDateFormat не может отклонить ввод с отсутствующим столетием в год ввода, несмотря на «yyyy» в шаблоне форматирования

У меня есть SimpleDateFormat с шаблоном yyyy-Md " и следующий сценарий:

String str = "02-03-04";        
SimpleDateFormat f = new SimpleDateFormat("yyyy-M-d");
f.setLenient(false);
System.out.println(f.parse(str));

Результат: Sat Mar 04 00:00:00 EST 2

Моя цель состояла в том, чтобы поймать даты только в формате вроде 2004-02-03 и игнорировать 02-03-04. Я думал, что yyyy в шаблоне потребует 4-значного года, но очевидно, что это не так. Может ли кто-нибудь объяснить, почему это не вызывает исключение синтаксического анализа? Я бы хотел ...

5
задан Basil Bourque 21 September 2019 в 03:11
поделиться