请问如何将时间戳格式化

chrishao 发布于 2014/06/12 17:02
阅读 301
收藏 0

@闲.大赋 你好,想跟你请教个问题:

请问如何将时间戳格式化 啊?

我在文档里面没有找到,能告诉一下怎么使用吗

加载中
0
闲大赋
闲大赋

文档里有 http://ibeetl.com/guide/#_格式化 

简单讲,有:

Today is ${date,dateFormat="yyyy-MM-dd"}

Today is $date,dateFormat$

Today is ${date,“yyyy-MM-dd”}.

三种,建议你看看文档,选择项目合适的方式

chrishao
chrishao
但是我将数据库返回的时间戳是bigint类型的,替换data之后,会报这样的错误,错误在下面的回复
0
chrishao
chrishao

引用来自“闲.大赋”的评论

文档里有 http://ibeetl.com/guide/#_格式化 

简单讲,有:

Today is ${date,dateFormat="yyyy-MM-dd"}

Today is $date,dateFormat$

Today is ${date,“yyyy-MM-dd”}.

三种,建议你看看文档,选择项目合适的方式

但是我将数据库返回的时间戳是bigint类型的,替换data之后,会报这样的错误

0
闲大赋
闲大赋
默认的格式化只处理date,timestamp等类,没有处理bigint,你需要重新实现一个格式化函数:
参考 3.3. 自定义格式化函数 http://ibeetl.com/guide/#_自定义格式化函数 。建议你参考
DateFormat类实现一个,然后重新注册为dateFormat.这样你就扩展了你的功能
chrishao
chrishao
谢谢,目前就是这么做的
0
闲大赋
闲大赋
我看你输出store,startTime 还有个判断,不需要,默认的Dateformat格式化函数对null是不予处理和报错的
chrishao
chrishao
学习了,以前因为null报过错,所以统统都加上判断空了
0
闲大赋
闲大赋

哦,那可能是因为store是null,这时候你需要安全输出

${store.startTime!,dateFormat....}

0
zqq90
zqq90

看异常输出信息

显然是告诉你类型不匹配 并不是 因为null的缘故 否则就应该抛出 NPE

你的 startTime 类型不是"java.util.Date", 官方提供的 Dateformat 显然是简单封装了Dateformat

你可以自己定义 dateFormat, 例如是个 long 的时间戳 就 new Date() 一下

如果是 java.sql.Date 可以
java.util.Date d=new java.util.Date (date.getTime());

以此类推


返回顶部
顶部