最近遇到了个小问题,从数据库中读取时间类型数据的时候,会默认增加.0。属于精度问题,例如2018-01-18 16:13:00,查询之后会变成2018-01-18 16:13:00.0。
当然如果直接将数据返回到客户端,还会还原成2018-01-18 16:13:00的数据,所以若果只是将数据取出传给客户端则不用做处理。这里是对需要在后台操作数据的情况解决方法的。直接substring()方法截取掉后面的.0当然可以,但是我觉得这并不是解决问题的方法。这种方式是否存在什么缺点和问题我暂时不清楚。
首先可以用getTimestamp()方法来取dateTime类型字段返回一个Timestamp类型,这是jfinal用来取时间类型参数的方法,之后定义时间模板SimpleDateFormat("yyyy-MM-dd HH:mm:ss"),然后将返回的Timestamp类型执行getTime方法。
代码示例如下,将其中的new Record()替换成你的实例对象就可以了,时间字段为你数据库字段中存的字段名称。