Olá pessoal, estou fazendo um pequeno estudo sobre a biblioteca LocalDate. Por isso decidir tentar resolver essa questão da apostila da Caelum “Como garantir que datas como 31/2/2012 não sejam aceitas pela sua classe Data?” (como o título evidencia).
Basicamente criei as seguintes variáveis:
private LocalDate dataAbertura;
DateTimeFormatter formatar = DateTimeFormatter.ofPattern(“dd/MM/yyyy”);
Então a data é informada como String e passada para variável -dataAbertura- através do método -validarData()-, que usa a variável -formatar- para definir o formato da data.
public void validarData(String dtAbertura) throws ParseException{
this.dataAbertura = LocalDate.parse(dtAbertura, formatar);
}
Para exibir a data estou usando o seguinte método:
public String getDataAbertura() {
return this.dataAbertura.format(formatar);
}
Porém, quando copilo aparece a seguinte mensagem de erro:
Exception in thread “main” java.time.format.DateTimeParseException: Text ‘28/2/2019’ could not be parsed at index 3
at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1949)
at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)
at java.time.LocalDate.parse(LocalDate.java:400)
at Banco_Revisao_Hiury.Conta.validarData(Conta.java:130)
at Banco_Revisao_Hiury.RevisaoTreinoBanco.main(RevisaoTreinoBanco.java:31)
C:\Users\GEMEOS\AppData\Local\NetBeans\Cache\8.2rc\executor-snippets\run.xml:53: Java returned: 1
FALHA NA CONSTRUÇÃO (tempo total: 0 segundos)
Já li manuais, artigos e postagem sobre erros semelhantes (se não iguais) ao meu aqui no guj, mas nada esta funcionado. Poderiam me ajudar por favor?