如何在Javascript中像gg-mm-aaaa这样转换JSON(OData)时间?

时间:2016-06-27 15:20:54

标签: javascript json date time odata

我是这样的JSON ......

{
"d": {
    "__count": "5798",
    "results": [{
        "time": "\/Date(1467039720000+0120)\/",
        "internalId": "5771271b84aed43d477c901b",
        "datasetVersion": 3,
        "idDataset": "1214",
    }, {
        "time": "\/Date(1467036120000+0120)\/",
        "internalId": "577118c784aed43d477bdf90",
        "datasetVersion": 3,
        "idDataset": "1215",
 .....

我希望使用javascript(或必要的PHP ......)以gg-mm-aaaa等格式提取和转换时间。

请注意,我知道" +120 "分钟......所以2小时。

是否有任何javascript库或代码示例进行此转换?

2 个答案:

答案 0 :(得分:2)

Moment JS是一个非常好的处理时间/日期的库。您可能需要解析JSON中的字符串值才能将其发送到片刻。 http://momentjs.com/

答案 1 :(得分:1)

试试这个

function FormatDate(value) {
    var pattern = /Date\(([^)]+)\)/;
    var results = pattern.exec(value);
    var dt = new Date(parseFloat(results[1]));
    console.log(dt);
    console.log(dt.getMonth());
    console.log((dt.getMonth() + 1) + "/" + dt.getDate() + "/" + dt.getFullYear());
}

例如

FormatDate("/Date(1467039720000+0120)/");

输出:

Mon Jun 27 2016 11:02:00 GMT-0400 (US Eastern Daylight Time)
VM64:50 5
VM64:51 6/27/2016

这是小提琴链接:

https://jsfiddle.net/jkqm4ej3/