Search code examples
javaspring-bootthymeleafdatetime-format

Formatting date in Thymeleaf


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

Solution

  • 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