我有包含属性列表的模型属性。
我想要格式化的值类似于此字符串:2012-07-16T00:00:00
。
我尝试使用
<p th:text="${#temporals.format(${myData.mdProperties.get('completionDate')}, 'dd-MM-yyyy')}"></p>
解析总是失败。然后我想我应该使用自定义方言将字符串转换为日期,但它很复杂。有没有更简单的解决方案?
我尝试根据此 question 将字符串转换为日期但失败了:
<p th:text="${#temporals.format(new java.util.Date(${{myData.mdProperties.get('completionDate')}}), 'dd-MM-yyyy')}"></p>
最佳答案
每个表达式中的括号过多。一般来说,您永远不应该使用嵌套的 ${ ... }
表达式(进行预处理时除外)。
此外,您还需要创建一个简单的日期格式来首先解析您的日期。这适用于我的测试用例:
<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>
关于spring-boot - Thymeleaf 解析预处理字符串到日期并格式化它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52149703/