【发布时间】:2016-12-11 23:55:07
【问题描述】:
我正在尝试解析字符串 ISO 日期(如“2016-01-01”)以便能够格式化它们。#dates 和 #temporals 似乎只能格式化 Date/LocalDate/LocalDateTime对象。
例如,我希望 Thymeleaf 在传递“2016-01-01”时显示“2016 年 1 月 1 日”。
谢谢。
【问题讨论】:
标签: date spring-boot thymeleaf
我正在尝试解析字符串 ISO 日期(如“2016-01-01”)以便能够格式化它们。#dates 和 #temporals 似乎只能格式化 Date/LocalDate/LocalDateTime对象。
例如,我希望 Thymeleaf 在传递“2016-01-01”时显示“2016 年 1 月 1 日”。
谢谢。
【问题讨论】:
标签: date spring-boot thymeleaf
查看参考文档的Reformatting dates in our home page 部分。
....
...我们可以这样做:
WebContext ctx = new WebContext(request, response, servletContext, request.getLocale()); ctx.setVariable("today", Calendar.getInstance()); templateEngine.process("home", ctx, response.getWriter());…然后在视图层本身中执行日期格式化:
<p> Today is: <span th:text="${#calendars.format(today,'dd MMMM yyyy')}">13 May 2011</span> </p>
【讨论】:
#temporals完全相同的方式使用的东西。我最终编写了自己的方言,我会发布一个关于它的答案。
我最终实现了我自己的方言,其中包含实用功能,例如 parseISODate(String date),它返回一个 LocalDate,然后在 HTML 中我可以做到
th:text="${#temporals.format(#myDialect.parseISODate(someStringISODate), 'dd/MMM/yyyy')}"
【讨论】: