spring-boot - Thymeleaf 解析预处理字符串到日期并格式化它

标签 spring-boot thymeleaf date-format

我有包含属性列表的模型属性。

我想要格式化的值类似于此字符串: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/

相关文章:

javascript - 如何从#authentication.getPrincipal()获取多个数据。用Java语言编写

thymeleaf - 如何使用 Thymeleaf 在 Micronaut 中加载 css 文件?

java - 用于解析 Java 中任何日期格式的单个类

postgresql - 使用 jOOQ 和 Spring Boot 进行集成测试时出现 "PSQLException: FATAL: sorry, too many clients already"错误

java - 当返回 ResponseEntity<Resource> 的方法抛出错误时如何返回 ModelandView?

java - 如何更改 Java 中 String.format() 中 %tZ 使用的时区?

java - RSS Feed,解析所有可能的日期

mysql - 如何为对象的特定变量添加管理员用户名和密码字段?

java - springboot javamailsender 堆栈溢出

java - 运行 spring boot jar 时找不到或加载主类