2016-10-18 3 views
2

This is my data modelthymeleaf + spring date conversion

Это моя модель. Я хочу использовать дату отсюда.

Я делаю это в моем HTML:

<table th:if="${!commentsInTask.empty}"> 

    <tbody> 
    <tr th:each="Comments : ${commentsInTask}"> 
    <tr th:each="comment : ${Comments}"> 
     <td th:text="${comment.user}">user ...</td> 

     <td th:text="${comment.createdAt}">date ...</td> 
    </tr> 
    </tr> 
    </tbody> 
</table> 

но она приносит:

<table> 

    <tbody> 
     <td>JACK</td> 

     <td>1.476787930289E9</td> 
    </tr> 
    </tr> 
    </tbody> 
</table> 

Эта часть Unix timedate: 1.476787930289E9

но на картинке в начале я отправил , Вы видели. Тимме не так.

Это в домене

public String getCreatedAtString() { 
     return createdAtString; 
    } 

    public TaskComment setCreatedAtString(String createdAtString) { 
     this.createdAtString = createdAtString; 
     return this; 
    } 
private ZonedDateTime createdAt = ZonedDateTime.now(); 

Почему Cantt я вижу в формате даты, которые в картинке в начале?

ответ

4

Использование Thymeleaf форматирования:

<td th:text="${#dates.format(comment.createdAt, 'dd-MM-yyyy HH:mm:ss')}">date</td> 

Вы получите выход в следующем формате: 18-Oct-2016 14:44:05.

#dates: методы java.util.Date объектов: форматирование, извлечение компонентов и т.д.


Чтобы преобразовать createdAt поле в java.util.Date использовать тип:

Date date = Date.from(java.time.ZonedDateTime.now().toInstant()); 

Или просто использовать java.util.Date тип:

private Date createdAt = new Date(); 

это установит cheatedAt до текущей даты.


Также вы можете добавить thymeleaf-extras-java8time зависимости к проекту для работы с ZonedDateTime типа.

Этот модуль добавляет #temporals объект похожий на #dates или #calendars из них в стандартном диалекте, что позволяет форматирование и создание временных объектов из шаблонов Thymeleaf:

enter image description here

Затем вы можете использовать ZoneDateTime с указанная модель:

${#temporals.format(temporal, 'dd/MM/yyyy HH:mm')} 

Подробнее на Thymeleaf - Module for Java 8 Time API compatibility.

+0

18/10/2016 13:51 w hat об этом? – mark

+1

Это будет 'dd/MM/YYYY HH: mm'. Вы можете использовать любой шаблон там, пожалуйста, ищите дополнительную информацию здесь: https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html – DimaSan

+0

org.thymeleaf.exceptions.TemplateProcessingException: Исключение оценки Выражение SpringEL: «# date.format (comment.createdAt, 'dd/MM/YYYY HH: mm')" (task_comment_cta: 33) – mark