FreeMarker 当前日期比较
Posted
技术标签:
【中文标题】FreeMarker 当前日期比较【英文标题】:FreeMarker Current Date Comparison 【发布时间】:2010-11-25 07:51:47 【问题描述】:是否可以在不将当前日期传递给模板的情况下与 freemarker 模板中的当前日期进行日期比较?
【问题讨论】:
【参考方案1】:从FreeMarker 2.3.17 开始,您可以使用新的特殊变量.now
:
[#assign foo = .now > yesterday?datetime]
【讨论】:
这似乎对我不起作用。我的 freemarker 模板版本是 2.3.20 . futDate?datetime> 。 foo 正在变为 null【参考方案2】:在 freemarker 中比较两个日期的更好方法是找出两个日期之间的差异。
<#assign difference = (custom_date?long / 86400000)?round - (.now?long / 86400000)?round />
如果difference
大于0,则为未来日期,如果相等,则为同一日期,如果小于,则为上一个日期
【讨论】:
【参考方案3】:以防其他人遇到此问题。
我在比较两个日期
[#assign .now?date lte today?date]
(他们都是 10/10/2019)
但由于某种原因它是错误的,即使它是相等的,所以我必须做的是
[#assign .now?string["dd/MM/yyyy"]?date lte today?date]
【讨论】:
【参考方案4】:否
Freemarker 是一个模板库,没有 today 变量。
但是您可以将new Date()
Java 对象传递给模板。
【讨论】:
您应该考虑更新或删除此答案,因为它现在不正确 嗯,原则上不应该有当前日期,但这是一个如此频繁的请求,.now
被添加了,尽管它很脏。以上是关于FreeMarker 当前日期比较的主要内容,如果未能解决你的问题,请参考以下文章