1。从数据库中取得list集合数据后,转为json,前台ajax想要获取其中时间数据时,格式经常为
"time":{"date":26,"day":3,"hours":11,"minutes":30,"month":3,"nanos":0,"seconds":49,"time":1493177449000,"timezoneOffset":-480,"year":117}
2。前台格式化数据太麻烦,最好的办法就是把时间格式化好后再进行转化json,前台直接取值
后台代码:
(直接从集合转化开始)
//数据库中取得的数据集合,其中包含date字段
List<plVo> listDB = pinglun.selectVoById(id);
//声明时间格式化
SimpleDateFormat simple = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//new一个新的集合,来存放格式化的时间数据
List<String> ltDate = new ArrayList<String>();
//遍历数据集合取得时间字段加到新集合中
for (plVO vo : listDB) {
vo.add(simple.format(plVO.getPlsj()).toString());
}
3。现存在数据集合listDB,已经格式化好的时间集合ltDate。
把两个集合转为json,发送前台
JSONArray json = new JSONArray();
String sDB = json.fromObject(listDB).toString();
String sTime = json.fromObject(ltDate).toString();
//拼json字符串(妈啊,每次拼写json字符串,都要死的赶脚)
String s = "{"+"\"sTime\""+":"+sTime+","+"\"sDB\""+":"+""+sDB+"}";
//发送前台
PrintWriter out = resp.getWriter();
out.print(s);
4。前台ajax解析
$.ajax({
type:"post",
url:'你的URL',
success:function(data){
//解析data
var c = eval('('+data+')');
//先取第一个看看--正常
alert(c['sTime'][0]);
//遍历数据集合
for ( var i = 0; i < c["sDB"].length; i++) {
//id字段对应的date字段
alert(c['sDB'].[i].[id]+c['sTime'].[i]);
}
}
});
搞定
不用ajax页面单纯获取可使用标签进行格式化
<fmt:formatDate value="${jihe.scsj}" type="date" dateStyle="medium"/>
具体格式样式,可上网查询