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?
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.