eval()
没有必要。这将正常工作:
var date = new Date(parseInt(jsonDate.substr(6)));
该substr()
函数取出该/Date(
部分,然后该parseInt()
函数获取整数并)/
在最后忽略。结果数将传递到Date
构造函数中。
我故意省略了基数(的第二个参数parseInt
);
另外,我完全同意Rory的评论:ISO-8601日期优于此旧格式- 因此,通常不应该将这种格式用于新开发。有关使用ISO-8601格式序列化日期的绝佳选择,请参见出色的Json.NET库。
对于ISO-8601格式的JSON日期,只需将字符串传递到Date
构造函数中即可:
var date = new Date(jsonDate); //no ugly parsing needed; full timezone support