Date 如何使用Thymeleaf和/或spring表达式语言转换字符串,例如;2018-02-21“;转换为日期格式dd/mm/yyyy(例如“2018年2月21日”)

Date 如何使用Thymeleaf和/或spring表达式语言转换字符串,例如;2018-02-21“;转换为日期格式dd/mm/yyyy(例如“2018年2月21日”),date,format,thymeleaf,spring-el,Date,Format,Thymeleaf,Spring El,我正在创建一个模板,该模板需要将yyyy-MM-dd格式的字符串变量格式化为dd/MM/yyyy格式的日期。我已经成功地用下面的方法处理了这个问题,但是感觉不太对劲 <p th:text="${testDate != '' ? #dates.format(#strings.replace(testDate,'-','/'),'dd/MM/yyyy') : ''}"></p>

我正在创建一个模板,该模板需要将yyyy-MM-dd格式的字符串变量格式化为dd/MM/yyyy格式的日期。我已经成功地用下面的方法处理了这个问题,但是感觉不太对劲

<p th:text="${testDate != '' ? #dates.format(#strings.replace(testDate,'-','/'),'dd/MM/yyyy') : ''}"></p>

还有一个额外的问题,有时日期字段可能会显示为时间,例如“09:03:21”,但我以后会担心这个问题

日期字符串是从服务检索的,格式无法更改

谢谢你的帮助

试试这个

<p th:text="${testDate != '' ? #temporals.format(testDate,'dd/MM/yyyy'): ''}"></p>


检查以获得更好的理解

不能让它工作。我使用的微服务结合了HTML模板和Thymeleaf,因此在另一端没有控制权。但是,以下内容确实有效,因此显然与日期的格式为yyyy-MM-dd有关

如果testDate2=“10/10/2018”有效,但如果是“2018-10-10”,则失败。您希望显示日期格式,如
2018-10-10
10/10/2018
?@Blingers当您在使用微服务时,您肯定在使用API,不是吗?是的。api返回2018-10-10,我需要转换为2018年10月10日。谢谢您是否有映射API的DTO?一种方法如下: