カテゴリ: Thymeleaf 更新日: 2025/06/03

Thymeleafの#dates.formatメソッドとは?初心者向け日付フォーマットガイド

Thymeleafの#datesのformatメソッド
Thymeleafの#datesのformatメソッド

先生と生徒の会話形式で理解しよう

生徒

「Thymeleafで日付を指定した形式でフォーマットする方法はありますか?」

先生

「はい!Thymeleafには#dates.formatという便利なメソッドがあります。このメソッドを使うと、日付を自由にフォーマットできますよ。」

生徒

「具体的にどのように使うのか教えてください!」

先生

「それでは、基本的な使い方から応用例まで一緒に見ていきましょう。」

1. #dates.formatメソッドの基本

1. #dates.formatメソッドの基本
1. #dates.formatメソッドの基本

#dates.formatメソッドは、Thymeleafテンプレート内で日付を指定したフォーマットで表示するためのメソッドです。例えば、「yyyy-MM-dd」形式で日付を表示する場合は以下のように書きます。


<p th:text="${#dates.format(today, 'yyyy-MM-dd')}"></p>

このコードを実行すると、現在の日付(例: 2025-01-28)が「yyyy-MM-dd」の形式で表示されます。todayは日付オブジェクトとして事前に設定されているものとします。

2. 日本語形式での日付フォーマット

2. 日本語形式での日付フォーマット
2. 日本語形式での日付フォーマット

日本語形式で日付を表示する場合は、「yyyy年MM月dd日」のフォーマットを指定します。以下の例を見てみましょう。


<p th:text="${#dates.format(today, 'yyyy年MM月dd日')}"></p>

このコードを実行すると、「2025年01月28日」のように日本語形式で日付が表示されます。地域に合わせたフォーマットが必要な場合に非常に便利です。

3. 日付と時刻を表示する

3. 日付と時刻を表示する
3. 日付と時刻を表示する

日付だけでなく時刻を含めて表示したい場合には、「yyyy-MM-dd HH:mm:ss」のようなフォーマットを指定します。


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

このコードでは、現在の日付と時刻が「2025-01-28 14:30:00」のように表示されます。タイムスタンプを含めたデータ表示に適しています。

4. 曜日を含めた日付フォーマット

4. 曜日を含めた日付フォーマット
4. 曜日を含めた日付フォーマット

曜日を含めた日付を表示する場合は、「EEEE」のパターンを使用します。以下はその例です。


<p th:text="${#dates.format(today, 'yyyy-MM-dd (EEEE)')}"></p>

このコードを実行すると、「2025-01-28 (火曜日)」のように曜日が表示されます。カレンダーやスケジュール機能のテンプレートで役立ちます。

5. デフォルト値を設定する

5. デフォルト値を設定する
5. デフォルト値を設定する

日付がnullの場合にデフォルト値を設定することも可能です。以下の例では、日付がない場合に「日付未設定」を表示します。


<p th:text="${date != null ? #dates.format(date, 'yyyy-MM-dd') : '日付未設定'}"></p>

このコードでは、datenullの場合に「日付未設定」と表示され、それ以外の場合はフォーマットされた日付が表示されます。

6. 実践例: 動的な日付フォーマット

6. 実践例: 動的な日付フォーマット
6. 実践例: 動的な日付フォーマット

以下は、日付を動的にフォーマットし、現在の日付や1週間後の日付を表示する例です。


<p>現在の日付: <span th:text="${#dates.format(today, 'yyyy-MM-dd')}"></span></p>
<p>1週間後の日付: <span th:text="${#dates.format(#dates.addDays(today, 7), 'yyyy-MM-dd')}"></span></p>

このコードでは、動的に計算された日付が指定した形式で表示されます。スケジュール管理やリマインダー機能のテンプレートで活用できます。

7.まとめ

7.まとめ
7.まとめ

今回は、Thymeleafの#dates.formatメソッドを使用した日付フォーマットの基本的な使い方から応用例までを解説しました。#dates.formatを利用すれば、テンプレート内で日付を自由自在にフォーマットできるため、見やすい表示形式を簡単に実現できます。 また、曜日や時刻を含むフォーマット、日本語形式、条件付きのデフォルト表示など、実践的なテクニックも学びました。 日付の表示は多くのアプリケーションで必要とされる要素なので、この知識を活用してテンプレートをさらに魅力的にしましょう。


<p th:text="${#dates.format(today, 'dd/MM/yyyy HH:mm:ss')}"></p>
<p th:text="${#dates.format(#dates.addDays(today, -7), 'yyyy-MM-dd')}"></p>

このように、#dates.formatを組み合わせて動的な日付フォーマットを活用することで、ユーザーにとって便利で分かりやすい情報提供が可能になります。

先生と生徒の振り返り会話

生徒

「Thymeleafの#dates.formatメソッドを使えば、日付を色々な形式で表示できるのが分かりました!特に曜日や時間を含めたフォーマットが役立ちそうです。」

先生

「そうですね!例えば、スケジュール管理やイベントカレンダーなどの機能にピッタリです。また、条件付きでデフォルト値を設定する方法も実務でよく使われます。」

生徒

「デフォルト値を設定する方法も便利ですね。テンプレートがもっとスマートに書けるようになりそうです。」

先生

「その通りです。今日学んだ#dates.formatを活用して、ぜひ実際のプロジェクトで試してみてくださいね。」

Springの学習を効率化したい方へ

この記事の内容をもっと深く知るには、以下の入門書が最適です。

Spring Framework超入門をAmazonで見る
カテゴリの一覧へ
新着記事
New1
Spring
SpringDataJPAのJPAクエリメソッド「EndingWith」の使い方を完全ガイド!初心者向け解説
更新記事
New2
Spring
SpringDataJPAのJPAクエリメソッド「StartingWith」の使い方を完全ガイド!初心者向け解説
更新記事
New3
Spring
SpringDataJPAのJPAクエリメソッド「NotLike」の使い方を完全ガイド!初心者向け解説
更新記事
New4
Spring
SpringDataJPAのJPAクエリメソッド「Like」の使い方を完全ガイド!初心者向け解説
更新記事
人気記事
No.1
Java&Spring記事人気No1
Spring
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.2
Java&Spring記事人気No2
Java
JavaのBooleanクラスの使い方を完全ガイド!初心者でもわかる真偽値の操作
No.3
Java&Spring記事人気No3
Java
JavaのIOExceptionクラス徹底解説!初心者向けファイル入出力エラー対策ガイド
No.4
Java&Spring記事人気No4
JSP
JSPの基本タグ一覧と使い方まとめ!実務で使えるタグを紹介
No.5
Java&Spring記事人気No5
Spring
SpringのBindingResultを完全ガイド!初心者でもわかる入力チェックとエラー処理
No.6
Java&Spring記事人気No6
JSP
JSPでif文・for文を使う方法!初心者でもわかるJavaとの違いと使い方
No.7
Java&Spring記事人気No7
Spring
SpringのModelクラスとaddAttributeメソッドの使い方を完全ガイド!初心者でも安心
No.8
Java&Spring記事人気No8
Spring
SpringDataJPAのJPAクエリメソッド「EndingWith」の使い方を完全ガイド!初心者向け解説