在Thymeleaf中處理日期格式化顯示主要有以下幾種方式:
1. 使用#dates.format()方法進行基礎格式化:
<p th:text="${#dates.format(dateObj, 'yyyy-MM-dd HH:mm:ss')}"></p>
這種方法支持自定義格式模式,如yyyy表示年份、MM表示月份等。
2. 表單字段的日期格式化:
當使用th:field綁定時會出現格式問題,應改用th:name+th:value組合:
<input th:name="createTime" th:value="${#dates.format(bizObj.createTime,'yyyy-MM-dd HH:mm:ss')}">
這樣可以同時解決頁面顯示和后端傳值的格式問題。
3. 日期組件提取:
年:[[${#dates.year(date)}]]
月:[[${#dates.monthName(date)}]]
日:[[${#dates.day(date)}]]
支持提取日期對象的各個字段。
4. ISO標準格式:
[[${#dates.formatISO(date)}]]
會輸出類似2025-08-11T11:34:43.000+08:00的ISO8601格式。
5. 集合類型日期格式化:
${#dates.arrayFormat(datesArray,'格式')}
${#dates.listFormat(datesList,'格式')}
支持對數組/列表中的日期批量格式化。
注意事項:
- 避免同時使用th:field和th:value
- 格式字符串需符合Java的SimpleDateFormat規范
- 時區問題需通過后端Date對象處理