カテゴリ: 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の@Transactional徹底解説!トランザクションの伝播・分離レベル・タイムアウトの基本
JavaのHashMapクラスgetメソッドの使い方を完全ガイド!初心者でもわかるjava.util入門
Thymeleafのth:fragmentを使ったテンプレートの再利用方法を完全ガイド!初心者でもわかる使い方
Javaの@PathVariableアノテーションの使い方を徹底解説!初心者でもわかるパスパラメータの基本と応用
人気記事
No.1
Java&Spring記事人気No1
Javaのラムダ式で配列を扱う!Arrays.streamの基本と注意点を初心者向けに解説
No.2
Java&Spring記事人気No2
JavaのRuntimeExceptionを完全解説!初心者でもわかるjava.langパッケージの基礎
No.3
Java&Spring記事人気No3
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.4
Java&Spring記事人気No4
JavaのIntegerクラスの使い方を完全ガイド!初心者でもわかる整数操作
No.5
Java&Spring記事人気No5
JavaのBigDecimalクラスcompareToメソッド完全ガイド!初心者でもわかる大小比較の基本
No.6
Java&Spring記事人気No6
Springの@Serviceアノテーションの使い方を徹底解説!初心者でもわかるSpring フレームワーク入門
No.7
Java&Spring記事人気No7
Javaの@SuppressWarningsアノテーションの使い方を完全ガイド!初心者でもわかる警告の抑制方法
No.8
Java&Spring記事人気No8
JavaのHttpSessionを徹底解説!初心者でもわかるセッション管理の基本