首页 > 代码库 > Freemarker中的日期转换
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
Freemarker中的日期转换