首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将json结果转换为日期

将json结果转换为日期
EN

Stack Overflow用户
提问于 2009-08-07 10:46:29
回答 4查看 192.1K关注 0票数 92

可能重复:

How to format a JSON date?

我从JavaScript调用$getJSON得到了以下结果。如何在JavaScript中将start属性转换为适当的日期?

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

谢谢!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-08-07 10:53:58

您需要从字符串中提取数字,并将其传递到日期constructor

代码语言:javascript
复制
var x = [{
    "id": 1,
    "start": "\/Date(1238540400000)\/"
}, {
    "id": 2,
    "start": "\/Date(1238626800000)\/"
}];

var myDate = new Date(x[0].start.match(/\d+/)[0] * 1);

这些部分包括:

代码语言:javascript
复制
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
票数 104
EN

Stack Overflow用户

发布于 2011-06-02 19:14:15

我使用的是:

代码语言:javascript
复制
function parseJsonDate(jsonDateString){
    return new Date(parseInt(jsonDateString.replace('/Date(', '')));
}

更新2018:

这是一个古老的问题。我建议修改服务器代码以返回更好的日期格式,而不是仍然使用这种旧的非标准序列化格式。包含时区信息的ISO字符串,或仅包含毫秒。如果您仅使用毫秒进行传输,则在服务器和客户端上应为UTC

  • 2018-07-31T11:56:48Z -可以使用dateObject.toISOString()
  • 1533038208000解析ISO字符串,并使用dateObject.getTime()

Date对象中获取该字符串-自1970年1月1日午夜以来的毫秒

票数 95
EN

Stack Overflow用户

发布于 2010-12-28 00:11:05

如果您使用jQuery

如果您在客户端使用jQuery,您可能会对this blog post感兴趣,它提供了如何全局扩展jQuery的$.parseJSON()函数以自动为您转换日期的代码。

在添加此代码的情况下,您不必更改现有代码。它不会影响对$.parseJSON()的现有调用,但如果您开始使用$.parseJSON(data, true)data字符串中的日期将自动转换为Javascript日期。

它支持Asp.net日期字符串:/Date(2934612301)/以及2010-01-01T12_34_56-789Z字符串。第一个是最常用的后端web平台,第二个是本地浏览器JSON支持(以及其他JSON客户端库,如json2.js)。

不管怎么说。转到博客文章获取代码。http://erraticdev.blogspot.com/2010/12/converting-dates-in-json-strings-using.html

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1244094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档