FreeMarker Current Date Comparison

前端 未结 4 2531

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

相关标签:
4条回答
  • 2021-02-20 13:25

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

    [#assign foo = .now > yesterday?datetime]
    
    0 讨论(0)
  • 2021-02-20 13:46

    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

    0 讨论(0)
  • 2021-02-20 13:46

    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]
    
    0 讨论(0)
  • 2021-02-20 13:47

    NO

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

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

    0 讨论(0)
提交回复
热议问题