2010.09.12——— json转换date的问题 resultSet.getDate JSONArray.toString()

2010.09.12——— json转换date的问题 resultSet.getDate JSONArray.toString()

今天 同事遇到一个问题 json.toString(bean)就报错

java.lang.IllegalArgumentException
	at java.sql.Date.getHours(Date.java:143)


其实原因就是 他用的rs.getDate()来得到数据库中的时间 得到的数据是java.sql.Date类型的 只有年月日
但是 json-lib转换的好像得是年月日分钟秒 所以会报错

解决:
把rs.getDate() 改为rs.getTimestamp()就可以了

jsp

用struts2遍历整个含有date类型对象的list时  需要

<s:date name="createTime" format="yyyy-MM-dd" />
这种来格式化显示

JavaScript

得到上面的json数据时  也需要转换 因为 Date类型是对象 被转换为一堆属性

var date = new Date(parseInt(o["kg_date"]["time"]));
var createTime = date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate();

这样组装一下 就可以了


另:


ResultSet类的getDate getTime 和getTimestamp方法的区别:
 getDate()              只取到天
 getTime()             只取时分秒
 getTimestamp()    精确到毫秒

你可能感兴趣的:(JavaScript,java,sql,json,bean)