首页 > 代码库 > Freemarker数字转时间

Freemarker数字转时间

使用freemarker模板,展示一个时间字段,数据库保存的是毫秒。在网上找了许多文章,发现都是针对date或者是直接类似“1999-09-09”这样已经成型字符串进行操作的,心中不禁万马奔腾。本来已经放弃准备自己调js脚本解决了,不过随手试了一下,结果发现了一个方法:number_to_date,试了一下可用,心中不由感慨intelliJ的强大索引功能。大概这个函数是高版本freemarder新增的功能,所以老文章里都没有提到。

除了number_to_date还有number_to_datetime,配合页头声明使用,因为我尝试在方法中增加参数,类似“yyyy-MM-dd",全都报错,虽然索引中显示支持参数,但是不了解格式。页头声明就简单一些了:

<#setting datetime_format="yyyy-MM-dd HH:mm"/>

如果字段是字符串格式,就要先转换为number,支持链式调用

${profile.createTime?number?number_to_datetime}