我使用以下代码将JSON Date
转换为Original Date
。以下是我的代码..
var convertDate = function (jsonDate) {
var date = new Date(parseInt(jsonDate.substr(6)));
return date.format("mm-dd-yyyy");
};
alert(convertDate(aData["Date"]));
以下错误显示在Firebug中。
if (isNaN(date)) throw SyntaxError("invalid date");
任何帮助......
答案 0 :(得分:0)
日期解析的工作原理如下:
var dateObject = new Date("12-15-2012 01:23");
答案 1 :(得分:0)
尝试此功能
function convertDate(jsonDate) {
var offset = new Date().getTimezoneOffset() * 60000;
var parts = /\/Date\((-?\d+)([+-]\d{2})?(\d{2})?.*/.exec(jsonDate);
if (parts[2] == undefined)
parts[2] = 0;
if (parts[3] == undefined)
parts[3] = 0;
return new Date(+parts[1] + offset + parts[2]*3600000 + parts[3]*60000);
};
答案 2 :(得分:0)
这不是一个完整的答案,但我把它作为你应该经历的那种思考的一个例子。
它显示的错误是它抛出错误的代码行。据推测它是在图书馆或其他东西。显然它扔了,因为变量date
预计是一个数字但不是。根据其名称和预期类型(数字)判断,date
必须是Date
的构造函数的参数,并且此部分在new Date
的调用内运行。结论:脚本失败,因为parseInt没有返回数字。要调查此问题:单击Firebug中的错误行以打开失败的部分,在那里设置断点,再次运行它,然后通过单击Firefox窗口顶部的选项卡浏览调用堆栈。