Java-freemark里能处理将字符串类型转换为日期类型吗?

发布于 2017-02-08 17:59:41 字数 458 浏览 1241 评论 2

是这样,在struts2的框架下做的界面,用的是freemark,在action类里面得到结果集,然后循环的显示在界面上,但是有一个字段是用长度为23的字符串表示的日期,比方说20120320081223000000,现在显示到界面上也是这样,我想让它以日期的形式显示,2012-03-20 08:12:23,精确到秒就可以,如果在Action类里面实现的话,就需要对结果集循环修改,而且也不一定行,所以想通过freemark实现,请问该怎么实现?

还有一个问题就是:在得到这个结果集之前,的查询条件里,有一个时间判断,用户从界面输入的是日期类型的,而数据库中对应的这个时间字段是字符串类型的,如果根据条件进行查询就需要把界面输入的日期类型转换为字符串类型,用户输入的就是2012-03-20 08:12:23,转换为字符串就是“2012-03-20 08:12:23”,无法跟表中的20120320081223000000进行正确的比较,请问这个又该怎么实现?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

清晨说ぺ晚安 2017-10-15 10:59:27

第一个用freemark里的函数就可以转换:date?string('yyyy-MM-dd HH:mm:s')

你也可以用数据库里的函数来转换数据库里的字段值,比如是msyql:

select date_format('20120320081223000000','%Y-%m-%d %H:%i:%s')

+---------------------------------------------------------+
| date_format('20120320081223000000','%Y-%m-%d %H:%i:%s') |
+---------------------------------------------------------+
| 2012-03-20 08:12:23 |
+---------------------------------------------------------+

所以你查询sql可以这样写呀

select * from tablename where date_format(colname) > '2012-03-20 08:12:23';

虐人心 2017-03-19 09:30:53

第一个问题:感觉在sql查询的时候直接转换比较好,如果确实要在页面上面处理可以这样:
<#assign date1=”20120320081223000000”?date(“yyyy-MM-dd HH:mm:ss”)>
${date1}
第二个问题:用过用sql里面类型转换函数即可,Oralce里面是用to_char来实现日期转字符串的;

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文