Подтвердить что ты не робот

Дата форматирования в Тимелеафе

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

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

// DateTimeFormat annotation on the method that 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
4b9b3361

Ответ 1

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

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

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

Вывод будет выглядеть следующим образом: 04-Oct-2016

Ответ 2

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

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

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

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

Ответ 3

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

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

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

Ответ 4

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

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