Freemarker Current Date Comparison

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
Author

Robert Thorne

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