关于javascript:将JSON结果转换为日期

Converting json results to a date

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
How to format a JSON date?

我从javascript的$getjson调用得到了以下结果。如何在javascript中将start属性转换为正确的日期?

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

谢谢!


您需要从字符串中提取数字,并将数字输入constructor的日期:

ZZU1

The parts are:

1
2
3
4
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


我用这个

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

更新2018年:

这是一个老问题。Instead of still using this old non standard serialization format I would recommend to modify the server code to return better format for date.有一个ISO字符串包含时间区域信息,或仅包含毫秒。如果你只使用毫秒传输就应该是UTC

  • 可以用new Date("2018-07-31T11:56:48Z")和从Date中推断出ISO弦。使用EDOCX1
  • 自1970年1月1日午夜起,UTC-CAN可以用新的日期(1533038208000)并从Date中删除。使用EDOCX1


如果你使用

如果你使用JQUERY在顾客旁边,你可能感兴趣的是这个博客邮件,它提供了如何全球性扩展JQUERY EDOCX1的代码。

你不必在增编的情况下改变现有的代码You don't have to change existing code in case of adding this code.如果你开始使用$.parseJSON(data, true),日期在data中,弦乐将自动转换为Javascript。

It supports asp.net date strings:/Date(2934612301)/as well as ISO strings 2010-01-01T12_34_56-789Z第一个是最常用的后端网页平台,第二个是由本地浏览器JSON支持(和其他JSON客户端侧的图书馆如JSON2.JS)。

无论如何在博客上贴上密码。http://erraticdev.blogspot.com/2010/12/transing-dates-in-json-strings-using.html


If that number represents milliseconds,use the date's constructor:

1
var myDate = new Date(1238540400000);