Ik ben helemaal nieuw in Java/Spring/Thymeleaf, dus houd alsjeblieft rekening met mijn huidige begripsniveau. Ik heb deze soortgelijke vraagbekeken, maar kon mijn probleem niet oplossen.
Ik probeer een vereenvoudigde datum te krijgen in plaats van de lange datumnotatie.
// 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>
Huidige output
sprint1 2016-10-04 14:10:42.183
Antwoord 1, autoriteit 100%
Bean-validatie maakt niet uit, je moet de Thymeleaf-opmaak gebruiken:
<td th:text="${#dates.format(sprint.releaseDate, 'dd-MMM-yyyy')}"></td>
Zorg er ook voor dat uw eigenschap releaseDate
java.util.Date
is.
Uitvoer zal zijn als: 04-Oct-2016
Antwoord 2, autoriteit 22%
Als u converters in th:text-attributen wilt gebruiken, moet u de syntaxis met dubbele haakjes gebruiken.
<td th:text="${{sprint.releaseDate}}"></td>
(Ze worden automatisch toegepast op th:field attributen)
http://www.thymeleaf.org/ doc/tutorials/2.1/thymeleafspring.html#double-bracket-syntax
Antwoord 3, autoriteit 11%
Als je een voorbeeld wilt tonen = 20-11-2017
U kunt gebruiken:
th:text="${#temporals.format(notice.date,'dd-MM-yyyy')}
Antwoord 4, autoriteit 3%
je moet Thymeleaf opmaak milliseconden gebruiken
<td th:text="${#dates.format(new java.util.Date(transaction.documentDate), 'dd-MMM-yy')}"></td>
Antwoord 5, autoriteit 2%
Wat betreft de afhankelijkheden,
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf</artifactId>
<version>3.0.12.RELEASE</version>
</dependency>
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf-spring5</artifactId>
<version>3.0.12.RELEASE</version>
</dependency>
Als u LocalDate
, LocalDateTime
of een andere klasse van het nieuwe Java 8 Date-pakket gebruikt, moet u deze extra afhankelijkheid toevoegen,
<dependency>
<groupId>org.thymeleaf.extras</groupId>
<artifactId>thymeleaf-extras-java8time</artifactId>
<version>3.0.4.RELEASE</version>
</dependency>
Wat betreft het type van uw datumobject, als u Date
gebruikt,
<td th:text="${#dates.format(sprint.releaseDate, 'dd-MM-yyyy HH:mm')}">30-12-2021 23:59</td>
Als u LocalDate
of LocalDateTime
gebruikt,
<td th:text="${#temporals.format(sprint.releaseDate, 'dd-MM-yyyy HH:mm')}">30-12-2021 23:59</td>
Er is nog steeds altijd de mogelijkheid om een object van DateTimeFormatter
door te geven in uw modeleigenschappen
// Inside your controller
context.setVariable("df", DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm"));
// or
model.addAttribute("df", DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm"));
// Then, in your template
<td th:text="${df.format(sprint.releaseDate)}">30-12-2021 23:59</td>
Dit artikelkan je misschien verder helpen.
Antwoord 6
th:text=”${#calendars.format(store.someDate(),’dd MMMM jjjj’)}”
API: https://www.thymeleaf.org/doc /tutorials/3.0/usingthymeleaf.html#calendars