首页 > 解决方案 > Freemarker:从今天的日期中减去一个日期

问题描述

我想知道在 Freemarker 中从今天的日期中减去日期的最佳方法是什么?

我有一个用户的注册日期,格式为:2015-06-15 05:12:35.890,我想做的是获取他们注册时和现在之间的年数。(整年,例如不需要 1 年 6 个月 / 1.5 年)

我努力了:

<#assign year=SIGN_UP_DATE?date(“yyyy”)>

<#assign today=now?date(“yyyy”)>

${dayadd(year, today)}

但这会产生第二个参数必须是数字的错误。

谁能启发我最好的方法来做到这一点?

标签: freemarker

解决方案


格式化的日期是一个字符串,而不是一个数字(即使它们恰好看起来像人类的数字),因此您必须将它们进一步转换为数字,例如<#assign year=SIGN_UP_DATE?date(“yyyy”)?number>. 与另一个相同。现在可以用运算符减去它们-。(我不确定发生了什么dayadd;要获得年份的差异,您只需要减法即可。)


推荐阅读