web-dev-qa-db-ja.com

Thymeleafで現在の日付を取得する

Thymeleafから現在の日付(および最終的には時刻)を印刷するにはどうすればよいですか?私はこれらの関数を試しています: http://www.thymeleaf.org/doc/tutorials/2.1/usingthymeleaf.html#dates しかし、それらを機能させることができません。

11
Fred K

これで試してください:

_${#dates.format(#dates.createNow(), 'dd MMM yyyy HH:mm')}
_

Java.util.Date()オブジェクトが作成され、必要に応じてフォーマットされます。


_#calendars_ユーティリティオブジェクトを使用

これは代替方法です。

_${#calendars.format(#calendars.createNow(), 'dd MMM yyyy HH:mm')}
_

結果は同じになります。

29
Andrea

これは私にとってはうまくいきます:

${#dates.format(#dates.createNow(),'YYYY/MM/dd HH:mm')}

6
Mykola Lysenko

Date#datesユーティリティによって処理されます。
新しいLocalDateTimeLocalDateクラスは、#temporalsユーティリティによって処理されます。

形式を設定します

<p th:text="${#dates.format(standardDate, 'dd-MM-yyyy HH:mm')}"></p>
<p th:text="${#temporals.format(localDateTime, 'dd-MM-yyyy HH:mm')}"></p>
<p th:text="${#temporals.format(localDate, 'MM-yyyy')}"></p>

それをビューに送信する必要がある場所次のように:

model.addAttribute("standardDate", new Date());
model.addAttribute("localDateTime", LocalDateTime.now());
model.addAttribute("localDate", LocalDate.now());

LocalDateのフォーマットは、時間フィールドをスキップして、特定の日付フィールドのみを指定する場合にのみ可能です。

出力結果

24-05-2019 21:57
24-05-2019 21:57
24-05-2019
1
nazar_art

Thymeleafで現在の日付と時刻を取得するもう1つの方法は、

${execInfo.now}

現在の日付と時刻(${execInfo.now})、テンプレートエンジンがこのテンプレートの実行を開始した瞬間に対応するCalendarオブジェクト。

WebContextを作成して、コンテキスト変数を変更できます。

WebContext ctx = new WebContext(request, servletContext, request.getLocale());

コンテキストが作成されると、テンプレートエンジンの2つの値を保持するオブジェクトが作成されます。オブジェクト名はexecInfoです。 2つの変数はtemplateNamenowです。これらの変数は、テンプレートのどこからでもアクセスできます。

あなたがこのようにすることができる日付形式をフォーマットする必要がある場合、

WebContext ctx = new WebContext(request, servletContext, request.getLocale());
ctx.setVariable("today", dateFormat.format(cal.getTime()));

例:

Current time : <div th:text="${execInfo.now.time}">Wed Feb 10 13:55:58 IST 2016</div>
1
Lucky

これがうまくいくことを願っています:

<b th:text="${#execInfo.now.time}"></b>
0
Sonu patel