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

时间:2017-02-09 22:20:46

标签: freemarker

希望有人可以帮助我...我正在使用freemarker,需要做以下事情。

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

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

希望有人可以帮助我。

最好的问候, 丹尼尔

2 个答案:

答案 0 :(得分:0)

?sort_by不会做这样的事情,它适用于相当简单的案件。通常,数据应该在模板获取时进行排序(因此有人可能会认为?short_by根本不存在)。但至少,日期应该在数据模型中作为日期(如java.util.Date或类似),而不是文本,然后?sort_by会对它们进行正确排序。

答案 1 :(得分:0)

同意@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>