freemarker 按日期排序;需要更改日期格式

freemarker sort by date; need to change date format

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

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

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

希望有人能帮助我。

此致, 丹尼尔

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

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

除了日期格式的问题外

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

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

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