如果您使用的微软的Json序列化库那么date会是这个样子:
/Date(1224043200000)/
下面是转换成JS obj的方法
var date = eval(jsonDate.replace(/\/Date\((\d+)\)\//gi, "new Date($1)"));
Todate(date);//转换时间
//一般做法
var date = new Date(parseInt(jsonDate.substr(6)));
//更高效,推荐
如果您使用的JSon.net那么date会是这个样子:
/Date(1224043200000+0800)/
下面是转换成JS obj的方法
jsonDate.replace(/\/Date\((.*?)\)\//gi, "new Date($1)");
因为这里涉及中间有个加好,所以如果想要更高效的方式与上同理:)
function Todate(num) {
//Fri Oct 31 18:00:00 UTC+0800 2008
num = num + ""; //给字符串后就一个空格
var date = "";
var month = new Array();
month["Jan"] = 1; month["Feb"] = 2; month["Mar"] = 3; month["Apr"] = 4;
month["May"] = 5; month["Jan"] = 6; month["Jul"] = 7; month["Aug"] = 8;
month["Sep"] = 9; month["Oct"] = 10; month["Nov"] = 11; month["Dec"] = 12;
var week = new Array();
week["Mon"] = "一"; week["Tue"] = "二"; week["Wed"] = "三"; week["Thu"] = "四";
week["Fri"] = "五"; week["Sat"] = "六"; week["Sun"] = "日";
str = num.split(" "); //根据空格组成数组
date = str[5] + "-"; //就是在2008的后面加一个“-”
//通过修改这里可以得到你想要的格式
date = date + month[str[1]] + "-" + str[2] + " " + str[3];
//date=date+" 周"+week[str[0]];
return date;
}
function ChangeDateFormat(cellval)//json时间转换为正常时间
{
try {
var date = new Date(parseInt(cellval.replace("/Date(", "").replace(")/", ""), 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;
} catch (e) {
return "";
}
}