将json结果转换为date

可能重复:
如何格式化JSONdate?

我从JavaScript的$ getJSON调用有以下结果。 如何在JavaScript中将启动属性转换为适当的date?

[{“id”:1,“start”:“/ Date(1238540400000)/”},{“id”:2,“start”:“/ Date(1238626800000)/”}]

谢谢!

您需要从string中提取数字,并将其传递到Date构造函数中:

var x = [ {"id":1,"start":"\/Date(1238540400000)\/"}, {"id":2,"start":"\/Date(1238626800000)\/"} ]; var myDate = new Date(x[0].start.match(/\d+/)[0] * 1); 

零件是:

 x[0].start - get the string from the JSON x[0].start.match(/\d+/)[0] - extract the numeric part x[0].start.match(/\d+/)[0] * 1 - convert it to a numeric type new Date(x[0].start.match(/\d+/)[0] * 1)) - Create a date object 

我使用这个:

 function parseJsonDate(jsonDateString){ return new Date(parseInt(jsonDateString.replace('/Date(', ''))); } 

如果你使用jQuery

如果你在客户端使用jQuery,你可能会对这个博客文章感兴趣,它提供了如何全局扩展jQuery的$.parseJSON()函数来为你自动转换date的代码。

添加此代码时,您不必更改现有的代码。 它不会影响对$.parseJSON()现有调用,但是如果您开始使用$.parseJSON(data, true) ,则datastring中的date将自动转换为Javascriptdate。

它支持Asp.netdatestring: /Date(2934612301)/以及ISOstring2010-01-01T12_34_56-789Z 。 第一个是最常用的后端Web平台,第二个是本地浏览器JSON支持(以及其他JSON客户端库,如json2.js)使用。

无论如何。 转到博客文章获取代码。 http://erraticdev.blogspot.com/2010/12/converting-dates-in-json-strings-using.html

如果该数字表示毫秒,则使用Date的构造函数:

 var myDate = new Date(1238540400000);