freemarker 按日期排序;需要更改日期格式
Posted
技术标签:
【中文标题】freemarker 按日期排序;需要更改日期格式【英文标题】:freemarker sort by date; need to change date format 【发布时间】: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]
希望有人可以帮助我。
最好的问候, 丹尼尔
【问题讨论】:
【参考方案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>
【讨论】:
以上是关于freemarker 按日期排序;需要更改日期格式的主要内容,如果未能解决你的问题,请参考以下文章