今天,做项目的时候发现:从后台请求回来的日期格式,和我们平时看见的格式大大不同。比如:下方AddTime的数据格式是日期型,可是请求过来的数据却是用双斜杠扩起来的字符型(或者说是整型)。
当我要取AddTime的值的时候,直接用JavaScript的方法(如下):
var newTime = object.AddTime;alert("new time is:"+newTime);
取出来的数据却不是我们平时看见的Year-Month-Day格式,它就是: /Date(1384487850000+0800)/ !我感到非常惊奇,后来才知道原来时间、日期在电脑中存储的时候是int格式(整型) 。怎么才能转换成平时看见的格式勒?发现了一个方法,现在分享给大家:
function ChangeDateFormat(jsonData) { jsonData = jsonData.replace("/Date(", "").replace(")/", ""); if (jsonData.indexOf("+") > 0) { jsonData = jsonData.substring(0, jsonData.indexOf("+")); } else if (jsonData.indexOf("-") > 0) { jsonData = jsonData.substring(0, jsonData.indexOf("-")); } var date = new Date(parseInt(jsonData, 10)); var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1; var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate(); return date.getFullYear() + "-" + month + "-" + currentDate; }
这样只需要把后台返回的JSON格式的日期作为ChangeDataFormat的参数传进去就会返回给你平时看见的日期格式.....
就简单地写到这里,上面有哪里不对的地方,望各位看官们多多指教,我毕竟还是个新手......