I've tried this:
<p class="post-date">
<time datetime="2023-01-01" th:text="${#temporals.format(item.getCreatedDate(), 'dd-MM-yyyy HH:mm')}">Oct 5, 2023</time>
</p>
where createdDate is a java.util.Date
but I am getting this error:
2024-03-30 17:15:58.620 ERROR [] o.a.c.c.C.[.[.[.[dispatcherServlet]@log(175) - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringEL expression: "#temporals.format(item.getCreatedDate(), 'dd-MM-yyyy HH:mm')" (template: "blog-details" - line 109, col 49)] with root cause
org.springframework.expression.spel.SpelEvaluationException: EL1004E: Method call: Method format(java.sql.Timestamp,java.lang.String) cannot be found on type org.thymeleaf.expression.Temporals
at org.springframework.expression.spel.ast.MethodReference.findAccessorForMethod(MethodReference.java:237)
at org.springframework.expression.spel.ast.MethodReference.getValueInternal(MethodReference.java:147)
at org.springframework.expression.spel.ast.MethodReference$MethodValueRef.getValue(MethodReference.java:400)
How about trying this one?
Explaination:
I saw that the error said the method format of
org.thymeleaf.expression.Temporalsdoes not have the prototype of (java.sql.Timestamp, java.lang.String). So I can understand that youritem.getCreatedDate()isjava.sql.Timestampclass:This class is extends of
java.util.Date, so you can useorg.thymeleaf.expression.Datesinstead: