Thymeleaf将预处理字符串解析为日期并将其格式化

时间:2018-09-03 12:20:50

标签: spring-boot thymeleaf date-format

我的模型属性包含属性列表 我要格式化的值类似于此字符串2012-07-16T00:00:00 我尝试使用

    <p th:text="${#temporals.format(${myData.mdProperties.get('completionDate')}, 'dd-MM-yyyy')}"></p>

解析不断失败,然后我想我应该使用自定义自定义方言将String转换为日期,但是很复杂,有没有更简单的解决方案

即使我尝试将字符串转换为日期 基于此question,但失败

<p th:text="${#temporals.format(new java.util.Date(${{myData.mdProperties.get('completionDate')}}), 'dd-MM-yyyy')}"></p>

这里有什么建议吗?

感谢进阶

1 个答案:

答案 0 :(得分:0)

每个表达式中的括号过多。通常,您永远都不应嵌套${ ... }表达式(在进行预处理时会有所体现)。

此外,您需要创建一种简单的日期格式以首先解析您的日期。这适用于我的测试用例:

<th:block th:with="sdf = ${new java.text.SimpleDateFormat('yyyy-MM-dd''T''HH:mm:ss')}">
    <p th:text="${#dates.format(sdf.parse(myData.mdProperties.get('completionDate')), 'dd-MM-yyyy')}" />
</th:block>