如何将日期时间形式的Net转换为JavaScript

时间:2019-05-09 10:10:27

标签: javascript asp.net ajax

请不要与ASP.NET Parse DateTime result from ajax call to javascript dateParsing DateTime format passed from Ajax to “dd/MM/yyyy”重复,我已被仔细阅读。但是我的问题是差异。

我下面的ajax从asp.net加载了数据。

 Datetime in c#: "2019-05-04" 

 The result in ajax is: "/Date(1556895600000+0900)/"

您可以看到自动将时间UTC偏移到DateTime的结果,我不知道为什么。

如何在javascript与上面的数据中转换为DateTime?

var d = new Date(("/Date(1556895600000+0900)/").match(/\d+/)[0] * 1)
console.log(d)

您可以看到:结果为“ 2019-05-03T15:00:00.000Z”,但我希望结果为“ 2019-05-04”。 我该怎么办?

1 个答案:

答案 0 :(得分:2)

看我不是约会专家,但以下内容使我信服

const parse = str => {
    let [_, timestamp, offsetHours, offsetMinutes] = str.match(/(\d+)\+(\d\d)(\d\d)/).map(Number);
  
    let date = new Date(timestamp);
    date.setHours(date.getHours() + offsetHours);
    date.setMinutes(date.getMinutes() + offsetMinutes);
    return date;
}

console.log(
    parse("/Date(1556895600000+0900)/")
    .toJSON()
)