0
点赞
收藏
分享

微信扫一扫

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需要判断,防止报错:空异常。 



举报

相关推荐

0 条评论