1. 把數字類型表示的日期,轉換成datetime類型,字符串輸出。
${item.time?number_to_datetime},默認的格式是“yyyy-MM-dd hh:mm:ss”。
在調用之前,可以手動設置datetime的格式,如: <#setting datetime_format="yyyy年MM月dd日"/>
2.把date類型表示的日期,轉換成字符串格式,字符串輸出。
${item.time?string("yyyy年MM月dd日")}
3.如果item.time為null,Freemarker會報錯,比較煩人。
於是,我寫了個通用的日期工具函數:
<#function number_to_ymdhms date>
<#if date != null>
<#setting datetime_format="yyyy-MM-dd hh:mm:ss"/>
<#return date?number_to_datetime/>
</#if>
<#return ""/>
</#function>
<#function date_to_ymdhms date>
<#if date != null>
<#return date?string('yyyy-MM-dd hh:mm:ss')/>
</#if>
<#return ""/>
</#function>
引入方式:<#include "/user/common/function/date.ftl"/>
調用方式: ${number_to_ymdhms(item.addtime)}
好處是,日期處理統一到一個地方,格式統一。如果不需要統一的,就需要再寫一個帶格式的函數了。
null需要判斷,防止報錯:空異常。