首页 > 其他 > 详细

Play1.x对于日期类型数据的请求和处理

时间:2015-01-16 11:19:49      阅读:164      评论:0      收藏:0      [点我收藏+]
昨天帮一个前端同事调试一个play1.x中日期使用的问题,记录一下。
场景:前端传递采用JS生成的日期插件,做一个model的CRUD。

拿过来调试的时候报错:
Caused by: java.lang.IllegalArgumentException: Can not set java.sql.Timestamp field models.ActConfig.act_
start_time to java.util.Date

请求requst:



看了一下model及数据库,act_start_time与act_end_time都是timestamp类型,
model的定义如下:

    @Column(name="act_start_time")
    @As(format="yyyy-MM-dd HH:mm:ss")
    public Timestamp act_start_time;
从异常信息来看,是进行类型绑定的时候出错了,前端请求过来的认为是java.util.Date
所以先将model修改如下:
    @Column(name="act_start_time")
    @As(format="yyyy-MM-dd HH:mm:ss")
    public Date act_start_time;
再次请求时发现已经没有异常,不过发现时分秒被截取了,以下是调用Date.toString()
act_start_time:Wed Jan 14 00:00:00 CST 2015,act_end_timeWed Jan 14 00:00:00 CST 2015

如此上面定义的    @As(format="yyyy-MM-dd HH:mm:ss")似乎没有作用啊。。。

google上搜索了"play date format",从这个问题的http://stackoverflow.com/questions/15697184/play-framework-pretty-print-date
的侧面,去看了application.conf的设置,
date.format=yyyy-MM-dd

将其修改为:
date.format=yyyy-MM-dd HH:mm:ss

更新后发现可以了
act_start_time:Wed Jan 14 17:00:00 CST 2015,act_end_timeWed Jan 14 17:00:00 CST 2015

总结:
1.model需要设置为java.util.Date
2.application.conf中需要设置date.format=yyyy-MM-dd HH:mm:ss(按具体需求格式)

Play1.x对于日期类型数据的请求和处理

原文:http://blog.csdn.net/tonylee0329/article/details/42774575

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!