Freemarker Current Date Comparison

Is it possible to do date comparisons against the current date in a freemarker template without passing the current date into the template?

4 Answers

From FreeMarker 2.3.17 on you can use the new special variable .now:

[#assign foo = .now > yesterday?datetime]
1

Better way to compare two dates in freemarker is to find the difference between two dates.

<#assign difference = (custom_date?long / 86400000)?round - (.now?long / 86400000)?round />

If the difference is greater than 0, it's a future date, if it equal it is same date, if it less than, it is previous date

In case someone else has this issue.

I was comparing 2 dates

[#assign .now?date lte today?date]

(they both were 10/10/2019)

but for some reason it was false even though it was equal, so what I had to do was

[#assign .now?string["dd/MM/yyyy"]?date lte today?date]

NO

Freemarker is a templating library, there isn't a today variable.

But you can pass a new Date() Java Object to the template.

2

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Robert Thorne

Robert Thorne

Automotive & Future Transportation Editor

Robert Thorne covers electric vehicle innovations, autonomous driving systems, global mobility trends, and automotive engineering developments.

Share this article
Twitter Facebook Pinterest