Bom dia. Estou fazendo um projeto em paralelo e usando essas aulas como referência. No meu projeto eu preciso listar uma data e ela vem do banco no formato yyyy-mm-dd. Como faço para formatá-la para dd/mm/yyyy no Thymeleaf?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Bom dia. Estou fazendo um projeto em paralelo e usando essas aulas como referência. No meu projeto eu preciso listar uma data e ela vem do banco no formato yyyy-mm-dd. Como faço para formatá-la para dd/mm/yyyy no Thymeleaf?
Olá Luis!
Cocê pode utilizar a biblioteca de formatação de datas do Spring, chamada #temporals. Ela permite que você formate datas de acordo com o padrão desejado.
No seu caso, para formatar a data do formato "yyyy-mm-dd" para "dd/mm/yyyy", você pode utilizar o seguinte código no seu arquivo Thymeleaf:
<span th:text="${#temporals.format(data, 'dd/MM/yyyy')}"></span>
Nesse exemplo, data é a variável que contém a data que você quer formatar. O método #temporals.format() recebe dois parâmetros: a data a ser formatada e o padrão desejado.
Dessa forma, a data será exibida no formato "dd/mm/yyyy" na sua página.
Espero ter ajudado e bons estudos!
Olá Rodrigo, obrigado pela resposta.
Fiz a modificação conforme você indicou, mas acredito que seja necessário fazer alguma configuração extra, pois ele lançou várias exceptions, conforme o recorte abaixo abaixo:
Caused by: org.attoparser.ParseException: Exception evaluating SpringEL expression: "#temporals.format(legislaturas.dataInicio,'dd/MM/yyyy') " (template: "legislaturas/listagem" - line 21, col 27)
Caused by: org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringEL expression: "#temporals.format(legislaturas.dataInicio,'dd/MM/yyyy') " (template: "legislaturas/listagem" - line 21, col 27)
Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1004E: Method call: Method format(java.lang.String,java.lang.String) cannot be found on type org.thymeleaf.expression.Temporals
at org.springframework.expression.spel.ast.MethodReference.findAccessorForMethod(MethodReference.java:225)
Aproveitando: Parabéns pelas suas aulas. Didática incrível.
Qual o tipo dessa variável legislaturas.dataInicio ?
Você se refere ao tipo dela na classe da entidade né?
Está como String:
Ah então é esse o problema. Deveria ser LocalDate ou LocalDateTime (caso precise guardar o horário)
Muito bem. Resolvido. Muito obrigado pela paciência.