весенняя загрузка 2.0 + thymeleaf unix эпоха на сегодняшний день


Я новичок в spring boot и thymeleaf. Я действительно пытался исследовать некоторое время, но не смог заставить его работать. Я вызываю сторонний api, который возвращает объект, имеющий поле в метке времени эпохи unix. Значение возвращается как Long.

В thymeleaf я попытался ниже, но получил совершенно другую дату. Отметка времени-на сегодня. Но дата отображается неправильно.

Пом.xml

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.2.RELEASE</version>
    <!--<version>1.5.13.RELEASE</version> -->
    <relativePath /> <!-- lookup parent from repository -->
</parent>

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

<dependency>
        <groupId>org.thymeleaf.extras</groupId>
        <artifactId>thymeleaf-extras-springsecurity4</artifactId>
</dependency>
<dependency>
        <groupId>org.thymeleaf.extras</groupId>
        <artifactId>thymeleaf-extras-java8time</artifactId>
</dependency>

Значение эпохи

1531879826

Вид

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

Дата отображается неправильно. Так и должно быть сегодняшняя дата / время.

18-01-1970 12:31:19
Любая помощь, чтобы направить меня в правильном направлении, ценится.
1 2

1 ответ:

Чтобы получить его правильно, вы должны использовать более длинное значение для времени эпохи. В java вам нужно умножить его на 1000, так как он использует миллисекунды.

Я предполагаю, что:

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

Сделает свою работу.

Попробуйте.