【问题标题】:How to convert/parse a string to a date object with Thymeleaf?如何使用 Thymeleaf 将字符串转换/解析为日期对象?
【发布时间】: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


    【解决方案1】:

    查看参考文档的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>
    

    【讨论】:

    • 其实我并不想接触Java代码,我一直在寻找可以用与#temporals完全相同的方式使用的东西。我最终编写了自己的方言,我会发布一个关于它的答案。
    【解决方案2】:

    我最终实现了我自己的方言,其中包含实用功能,例如 parseISODate(String date),它返回一个 LocalDate,然后在 HTML 中我可以做到

    th:text="${#temporals.format(#myDialect.parseISODate(someStringISODate), 'dd/MMM/yyyy')}"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-21
      • 2020-11-30
      • 2022-01-11
      • 1970-01-01
      相关资源
      最近更新 更多