Дата форматирования в Thymeleaf

Я совершенно новый для Java / Spring / Thymeleaf, поэтому, пожалуйста, несите с моим текущим уровнем понимания. Я сделал обзор этот же вопрос, но не смог решить мою проблему.

Я пытаюсь получить упрощенную дату вместо длинного формата даты.

// 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>

выходной ток

sprint1 2016-10-04 14:10:42.183

4 ответов


проверка бобов не имеет значения, вы должны использовать форматирование Thymeleaf:

<td th:text="${#dates.format(sprint.releaseDate, 'dd-MMM-yyyy')}"></td>

также убедитесь, что ваш releaseDate недвижимость java.util.Date.

вывод будет выглядеть так:04-Oct-2016


Если вы хотите использовать преобразователи в атрибутах th: text, вы должны использовать синтаксис двойной скобки.

<td th:text="${{sprint.releaseDate}}"></td>

(они автоматически применяются к атрибутам Th:field)

http://www.thymeleaf.org/doc/tutorials/2.1/thymeleafspring.html#double-bracket-syntax


Если вы хотите показать пример por = 20-11-2017

вы можете использовать:

 th:text="${#temporals.format(notice.date,'dd-MM-yyyy')}

вы должны использовать миллисекунды форматирования Thymeleaf

<td th:text="${#dates.format(new java.util.Date(transaction.documentDate), 'dd-MMM-yy')}"></td>