Java 8 DateTimeFormatter ano de dois dígitos 18 analisado para 0018 em vez de 2018?

No Java 8, o código abaixo analisa "18" no ano "0018" em vez de "2018".

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("M/d/y");
return LocalDate.parse(date, formatter);

a data de entrada é "01/05/18".

1) por que o resultado é "0018"? FazDateTimeFormatter não seguir a regra 80-20?

2)Como controlar a análise de SimpleDateFormat para 19xx ou 20xx? falou sobreSimpleDateFormat.set2DigitYearStart(Date) pode ser usado para corrigir o ano. Existe algo semelhante a isso paraDateTimeFormatter?

Eu esperava que "M / d / a" analise os anos de 2 e 4 dígitos.

"M / d / aa" lança a exceção por anos de 4 dígitos e analisa "01/05/97" para "2097-01-05". Idealmente, isso deve ser analisado como "05-01-2007".

"M / d / aaaa" lança exceção por anos de 2 dígitos.

questionAnswers(2)

yourAnswerToTheQuestion