【问题标题】:freemarker sort by date; need to change date formatfreemarker 按日期排序;需要更改日期格式
【发布时间】:2017-06-28 03:04:20
【问题描述】:

希望有人可以帮助我...我正在使用 freemarker,需要执行以下操作。

我有一个列表,我必须按名为 course_start_date 的字段进行排序。这是这种形式的日期字段:dd MM yyyy(日月年)。不幸的是,排序不正确,因为我需要这种形式的日期 yyyyMMdd 来运行它,因为它应该用于按日期排序。

最大的问题:如何更改日期格式?我试过了,但我得到了一个错误。 [#list?sort_by("veranstaltung.first_course_date".pattern('YYYYMMDD')") as veranstaltung]

希望有人可以帮助我。

最好的问候, 丹尼尔

【问题讨论】:

    标签: freemarker


    【解决方案1】:

    ?sort_by 不会做这样的事情,它适用于相当简单的情况。通常,当模板获取数据时,数据应该已经排序(因此有人可能会争辩说?short_by 根本不应该存在)。但至少,日期应该在数据模型中作为日期(如java.util.Date 等),而不是文本,然后?sort_by 会正确排序。

    【讨论】:

    • 您好,感谢您的提示。不幸的是,我无法访问 Java。我所描述的是客户必须创建报告(使用 FTL)的可能性,但这都是 ERP 解决方案的一部分。我将不得不联系他们,因为它似乎会产生我需要的输出。最好的问候,丹尼尔
    【解决方案2】:

    同意@ddekany 的回答,一般而言,特别是在您的情况下,建议在处理模板之前对列表进行排序。

    除了日期格式的问题之外还有一些错误

    [#list?sort_by("veranstaltung.first_course_date".pattern('YYYYMMDD')") as veranstaltung]
    

    ?sort_by 指令的参数应该是循环中项目的字段。并且缺少列表对象..应该是:

    <#list item_list?sort_by("first_course_date") as veranstaltung>
        ${veranstaltung.first_course_date}
    </#list>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多