Freemarker中的日期轉換


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需要判斷,防止報錯:空異常。 


原文首發:http://fansunion.cn/article/detail/531.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM