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中的日期转换的更多相关文章
- MYSQL中的日期转换
MYSQL中的日期转换 网址: http://www.eygle.com/digest/2006/09/mysql_date_convert.html 对于每个类型拥有的值范围以及并且指定日期何时间值 ...
- Struts2中Date日期转换的问题
今天跑程序的时候莫名其妙的出现了下面的一个异常: java.lang.NoSuchMethodException:com.ca.agent.model.mybatis.ApprovalInforC ...
- java中的日期转换
在java中有两种Date对象,一种是java.sql.Date,另一种是java.util.Date 一.java.sql.Date对象: 这种Date对象使用了进行数据库操作的,它对应了数据库中的 ...
- 填坑:Java 中的日期转换
我们之前讨论过时间,在Java 中有一些方法会出现横线?比如Date 过期方法. 参考文章:知识点:java一些方法会有横线?以Date 过期方法为例 Java中的日期和时间处理方法 Date类(官方 ...
- hive中的日期转换函数
1.unix时间戳转时间函数 语法: from_unixtime(bigintunixtime[, string format]) 返回值: string 说明: 转化UNIX时间戳(从197 ...
- sqlServer数据库中的日期转换
今天开发过程中涉及到 sqlServer数据库数据同步至mysql数据,所以对日期格式转换需求,查到了一些关于sqlServer 的日期转换内容: 一般存入数据库中的时间格式为yyyy-mm-ddhh ...
- mysql中的日期转换函数(类似oracle中的to_date)
最近使用mysql开发一个项目,发现没有像之前在用oracle数据中那样有to_date方法.mysql中实现日期格式化的方法为date_to_str('日期字符串','日期格式'),而且mysql中 ...
- 为什么你SQL Server中SQL日期转换出错了呢?
开发人员有时候使用类似下面SQL将字符串转换为日期时间类型,乍一看,这样的SQL的写法是没有什么问题的.但是这样的SQL其实有时候就是一个定时炸弹,随时可能出现问题(),下面简单对这种情况进行一个简单 ...
- Sql 中常用日期转换Convert(Datetime)
CONVERT(data_type,expression[,style]) convert(varchar(10),字段名,转换格式) 说明:此样式一般在时间类型(datetime,smalldate ...
随机推荐
- amazeui学习笔记二(进阶开发3)--HTML/CSS规范Rules
amazeui学习笔记二(进阶开发3)--HTML/CSS规范Rules 一.总结 1.am:以 am 为命名空间 2.模块状态: {命名空间}-{模块名}-{状态描述} 3.子模块: {命名空间}- ...
- 15.lambda表达式
#include <iostream> #include <array> using namespace std; //解决函数怀孕现象 //[](){} //[] =引用,只 ...
- h5背景
1.背景属性复习: background-image background-color background-repeat background-position background-attachm ...
- LuceneIndexFileDeleter会保留初始的commit
给实时索引加入了merge策略,持续更新时发现有做merge,但索引文件夹中的段数远远大于RealTimeIndexWriter中的段数,就是有些merge的段应该删除,文件夹中没有删除.而关闭sea ...
- 软件——python,主函数
1;; 如何在spyder中运行python程序 如下图, 写入一个输出 ' hellow word '的程序 然后点击运行按钮就可以运行了.
- Keepalived + Mysql 双主
VIP 192.168.1.41 Master 192.168.1.42 Slave 192.168.1.43 .配置 yum -y install mysql-server chkconfig -- ...
- Docker使用Dockerfile创建Centos(tomcat+jdk)镜像
原文链接:https://blog.csdn.net/qq_37936542/article/details/80824389 Docker构建镜像的方法主要有两种: (1)使用docker c ...
- HttpClient证书回调问题解决
/// <summary> /// httpclient请求 /// </summary> /// <param name=&q ...
- 10.8 android输入系统_实战_使用GlobalKey一键启动程序
11. 实战_使用GlobalKey一键启动程序参考文章:Android 两种注册(动态注册和静态注册).发送广播的区别http://www.jianshu.com/p/ea5e233d9f43 [A ...
- [Ramda] Declaratively Map Predicates to Object Properties Using Ramda where
Sometimes you need to filter an array of objects or perform other conditional logic based on a combi ...