如何使用 Thymeleaf 和/或 spring 表达式语言来转换字符串,例如“2018-02-21”转换为日期格式 dd/mm/yyyy(例如“21/02/2018”)
Posted
技术标签:
【中文标题】如何使用 Thymeleaf 和/或 spring 表达式语言来转换字符串,例如“2018-02-21”转换为日期格式 dd/mm/yyyy(例如“21/02/2018”)【英文标题】:How to use Thymeleaf and/or spring expression language to convert a string e.g. "2018-02-21" into a date format dd/mm/yyyy (e.g. "21/02/2018") 【发布时间】:2020-01-18 07:21:44 【问题描述】:我正在创建一个模板,该模板需要将格式为 yyyy-MM-dd 的字符串变量格式化为 dd/MM/yyyy 格式的日期。我已经成功地用下面的方法解决了这个问题,但这感觉不对......
<p th:text="$testDate != '' ? #dates.format(#strings.replace(testDate,'-','/'),'dd/MM/yyyy') : ''"></p>
还有一个额外的问题,有时日期字段可能会作为时间出现,例如“09:03:21”但我可以稍后再担心。
日期字符串是从服务中检索的,格式不能更改。
感谢您的帮助
【问题讨论】:
一种方法是这样的:***.com/a/52169389 【参考方案1】:试试这个
<p th:text="$testDate != '' ? #temporals.format(testDate,'dd/MM/yyyy'): ''"></p>
查看here 以获得更好的理解!
【讨论】:
无法让它工作。我正在使用结合了 html 模板和 Thymeleaf 的微服务,因此在另一端无法控制。但是,以下确实有效,因此显然与日期格式为 yyyy-MM-dd.... 如果 testDate2="10/10/2018" 有效,但如果是 "2018-10-10" 则失败 你想显示像2018-10-10
或10/10/2018
这样的日期格式?
@Blingers 当你在处理微服务时,你肯定在使用 API,不是吗?
是消耗。 api 返回 2018-10-10,我需要转换为 10/10/2018。谢谢
您是否有任何 DTO 用于映射您的 API?以上是关于如何使用 Thymeleaf 和/或 spring 表达式语言来转换字符串,例如“2018-02-21”转换为日期格式 dd/mm/yyyy(例如“21/02/2018”)的主要内容,如果未能解决你的问题,请参考以下文章
Spring-Thymeleaf 如何使用 EL 调用来自 Bean 的操作方法
Thymeleaf 或 JSP:Spring Boot 哪个更好?
Spring Boot 中的 I18n + Thymeleaf
如何使用 thymeleaf 和 spring 使用列表填充下拉列表