如何转换此JSON日期时间?

时间:2011-01-03 16:55:03

标签: javascript json parsing datetime

从JSON格式的响应对象返回以下字符串,我想将其解析为有用的东西:/ Date(1283457528340)/

如何使用JavaScript将其解析为用户友好的内容?

3 个答案:

答案 0 :(得分:5)

这是自纪元以来的毫秒数。

此函数从字符串中提取数字,并返回从该时间编号创建的Date对象。

function dateFromStringWithTime(str) {
    var match;
    if (!(match = str.match(/\d+/))) {
        return false;
    }
    var date = new Date();
    date.setTime (match[0] - 0);
    return date;
}

例如,

console.log(dateFromStringWithTime('/Date(1283457528340)/').toString());

输出结果为:

Fri Sep 03 2010 02:58:48 GMT+0700 (ICT)

答案 1 :(得分:1)

取决于。这个价值代表什么?假设UNIX时间戳毫秒(否则调整),您可以提取值,然后应用parseInt并用它构造一个新的Date对象。

var str     = "/Date(1283457528340)/";
var matches = str.match(/([0-9]+)/);
var d       = parseInt(matches[0]);
var obj     = new Date(d);

然后您应该能够正常使用Date对象。 这是未经测试的,可能有错别字/错误,但这个想法应该是合理的。

修改: matches[1] - > matches[0]

答案 2 :(得分:0)

function parseJsonDate(jsonDate) {
    var epochMillis = jsonDate;
    var d = new Date(parseInt(epochMillis.substr(6)));
    return d;
}

上面的代码将为您提供一个日期格式化的日期,该日期在给定视图中很有用。

传递给函数(jsonDate)的参数是您尝试转换的字符串,而行return d正在返回格式良好的日期。

只是获得所需日期的另一种方式。