freemarker 时间相减实现新闻加hot.new标志
在一个HTML静态页面写代码,不能用jsp标签和语法,用js函数又无法取值和按条件显示图片,最后研究freemarker参考这种时间条件可以实现我要的功能
<#macro timeline_dt datetime=.now>
<#assign ct = (.now?long-datetime?long)/1000>
<#if ct gte 31104000><#--n年前-->${(ct/31104000)?int}年前
<#t><#elseif ct gte 2592000><#--n月前-->${(ct/2592000)?int}个月前
<#t><#elseif ct gte 86400*2><#--n天前-->${(ct/86400)?int}天前
<#t><#elseif ct gte 86400><#--1天前-->昨天
<#t><#elseif ct gte 3600><#--n小时前-->${(ct/3600)?int}小时前
<#t><#elseif ct gte 60><#--n分钟前-->${(ct/60)?int}分钟前
<#t><#elseif ct gt 0><#--n秒前-->${ct?int}秒前
<#t><#else>刚刚
</#if>
</#macro>
我要的更能实现
<#if (info.hot??) ><#if (info.hot=='1') ><img src="${contextPath}site/${site.sourcepath}/resources/img/hot.gif" /></#if></#if>
<#if info.addtime?? ><#assign ct = (.now?long-info.addtime?long)/1000><#if ct lte 86400*15><img src="${contextPath}site/${site.sourcepath}/resources/img/new.gif" /></#if></#if>