2016-10-04 4 views
21

Ich bin brandneu zu Java/Spring/Thymeleaf also bitte mit meinem derzeitigen Verständnis. Ich habe this similar question überprüft, konnte aber mein Problem nicht lösen.Formatierungsdatum in Thymeleaf

Ich versuche, ein vereinfachtes Datum anstelle des langen Datumsformats zu erhalten.

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

auch sicher ist Ihr releaseDate Eigenschaft machen java.util.Date:

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

Stromausgang

sprint1 2016-10-04 14:10:42.183 

Antwort

41

Bean Validierung sollte keine Rolle, Sie Thymeleaf Formatierung.

Ausgang wird wie: 04-Oct-2016

+5

Ich werde dies nur hier verlassen: Wenn Sie Verwenden von LocalDate oder LocalDateTime Verwenden Sie "Temporals" anstelle von "Daten" in Thymeleaf –

11

Wenn Sie Konverter in verwenden th: Textattribute Sie doppelt Klammer-Syntax verwenden.

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

(Sie werden automatisch th angewendet: Feldattribute)

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

+0

Gibt es eine Möglichkeit, das Format zu konfigurieren, das der Double-Bracket-Konverter verwendet? –

+0

@DavidTroyer funktioniert es mit fast jeder Art, die Sie normalerweise tun würden - Sie können '@ DateTimeFormat' verwenden (genau wie die Frage), können Sie Ihre' @Configuration' Klasse 'WebMvcConfigurerAdapter' erweitern und addFormatters überschreiben, um hinzuzufügen ein 'Converter ', etc ... – Metroids

0

Sie Thymeleaf Formatierung Millisekunden

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