今天早上遇到了一個奇怪得問題,直接給後台發送請求返回得頁面信息中顯示時間是正常得,如:2016-03-17 15:42:11.0,但是通過AJAX獲取得信息中顯示得時間竟然是時間戳。
我首先檢查後台傳回來得集合中時間類型是不是就是時間戳,結果打上斷點發現集合中顯示得時間也是正常得,我按F8跳過之後,查看浏覽器傳送回來得JSON相應居然是時間戳,我不信,於是反反復復了好幾遍,確實是集合顯示正常,一響應到前台就成時間戳了,於是我baidu了,給出得方案都是在實體的時間get方法上加上json注解(@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")),但是我不能用啊,因為目前這個產品沒有用ROM框架,也就是沒有實體這一說啊,郁悶之後於是自己想辦法格式化一下得,看看好使不。
private List<Map<String,Object>> formatDate(List<Map<String,Object>> list){
List<Map<String,Object>> l = new ArrayList<Map<String,Object>>();
for (Map<String, Object> map : list) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if(map.get("add_time")!=null){
String add_time = map.get("add_time").toString();
try {
Date date = sdf.parse(add_time);
map.put("add_time", sdf.format(date));
} catch (ParseException e) {
e.printStackTrace();
}
}
l.add(map);
}
return l;
}
^_^,格式完之後果然不轉換了,我仔細檢查之後才發現,原來集合中得時間時分秒之後還有毫秒15:42:11.0,把毫秒給格式化掉JSON就不會將時間自動轉換為時間戳了。
到此問題順利解決!
Spring MVC+Spring3+Hibernate4開發環境搭建 http://www.linuxidc.com/Linux/2013-07/87119.htm
Spring MVC整合Freemarker基於注解方式 http://www.linuxidc.com/Linux/2013-02/79660.htm
基於注解的Spring MVC簡單介紹 http://www.linuxidc.com/Linux/2012-02/54896.htm
Spring MVC 框架搭建及詳解 http://www.linuxidc.com/Linux/2012-01/52740.htm
Spring MVC使用Cron表達式的定時器 http://www.linuxidc.com/Linux/2014-12/110733.htm