こんにちは、くまごろーです。
今日は、Thymeleafでの日時の表示形式を調整する方法についてまとめます。
1 やりたいこと
DBに、以下の様な形式で日時データが格納されているとします。
<DB>
2021-02-22 15:23:05.000000
これを、「2021-02-22 15:23」といった形に成形して表示したい場合、どうすればいいのか?
2 #temporalsを使用する
Thymeleafには、ユーティリティオブジェクトという、コーディングの手助けとなるオブジェクトが実装されています。(これ最近まで知らなかった・・・)
今回は、「#tempolars」というオブジェクトを使用します。
#temporalsは、LacalDateやLocalDataTimeを扱うことができるユーティリティメソッド群です。
<基本コード>
#temporals.format(time, 'yyyy-MM-dd HH:mm')}
こんな風に書くと
投稿日時:[[${#temporals.format(post.createdAt, 'yyyy-MM-dd HH:mm')}]]
こういう感じで出力されます。
投稿日時:2021-02-22 14:28
これ以外にも色んな使い方があるらしい。
コード | ふるまい |
---|---|
${#temporals.format(time, 'yyyy/MM/dd HH:mm:ss')} | 日付を自由にフォーマット |
${#temporals.year(date)} | 年を取得 |
${#temporals.month(date)} | 月を取得 |
${#temporals.day(date)} | 日を取得 |
${#temporals.dayOfWeekName(date)} | 曜日を取得 |
${#temporals.hour(time)} | 時間を取得 |
${#temporals.minute(time)} | 分を取得 |
${#temporals.second(time)} | 秒を取得 |
3 参考