码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-01-16 11:22:07      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:play1.x   date   

昨天帮一个前端同事调试一个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对于日期类型数据的请求和处理

标签:play1.x   date   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!