I'm brand new to Java/Spring/Thymeleaf so please bear with my current level of understanding. I did review this similar question, but wasn't able to solve my problem.
I'm trying to get a simplified date instead of the long date format.
// DateTimeFormat annotation on the method that's calling the DB to get date.
@DateTimeFormat(pattern="dd-MMM-YYYY")
public Date getReleaseDate() {
return releaseDate;
}
html:
<table>
<tr th:each="sprint : ${sprints}">
<td th:text="${sprint.name}"></td>
<td th:text="${sprint.releaseDate}"></td>
</tr>
</table>
Current output
sprint1 2016-10-04 14:10:42.183
Bean validation doesn't matter, you should use Thymeleaf formatting:
<td th:text="${#dates.format(sprint.releaseDate, 'dd-MMM-yyyy')}"></td>
Also make sure your releaseDate property is java.util.Date.
Output will be like: 04-Oct-2016
If you want to use converters in th:text attributes, you have to use double-bracket syntax.
<td th:text="${{sprint.releaseDate}}"></td>
(They are automatically applied to th:field attributes)
http://www.thymeleaf.org/doc/tutorials/2.1/thymeleafspring.html#double-bracket-syntax
If you want show por example = 20-11-2017
You can use:
th:text="${#temporals.format(notice.date,'dd-MM-yyyy')}
you should use Thymeleaf formatting milliseconds
<td th:text="${#dates.format(new java.util.Date(transaction.documentDate), 'dd-MMM-yy')}"></td>
th:text="${#calendars.format(store.someDate(),'dd MMMM yyyy')}"
API : https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html#calendars
来源:https://stackoverflow.com/questions/39860643/formatting-date-in-thymeleaf