2016-10-04 91 views
21

私はJava/Spring/Thymeleafの新機能ですので、私の現在の理解度をお確かめください。私はthis similar questionを見直しましたが、私の問題を解決できませんでした。Thymeleafの日付の書式設定

私は長い日付形式の代わりに簡略化した日付を取得しようとしています。また、あなたのreleaseDateプロパティがjava.util.Dateであることを確認してください

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

sprint1 2016-10-04 14:10:42.183 

答えて

41

豆の検証は重要ではありません

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

電流出力は、あなたがThymeleafの書式を使用する必要があります。あなたが目にコンバータを使用する場合は04-Oct-2016

+5

を使用する必要があります私はここにこれを残しておきます:あなたがしている場合LocalDateまたはLocalDateTimeを使用すると、Thymeleafの "dates"の代わりに "temporals"が使用されます –

11

出力は次のようになりますテキスト属性には、ダブルブラケットの構文を使用する必要があります。

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

(彼らは自動的番目に適用されます:フィールド属性)

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

+0

ダブルブラケットコンバータが使用するフォーマットを設定する方法はありますか? –

+0

@DavidTroyer @DavidTroyerこれは通常どんな方法でも動作します。質問のように '@ DateTimeFormat'を使うことができます。' @ Configuration'クラスを拡張して 'WebMvcConfigurerAdapter'を拡張し、addFormattersをオーバーライドして追加することができます'コンバーター<日付、文字列>'など – Metroids

0

あなたはThymeleafの書式設定(ミリ秒)に

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