请不要与ASP.NET Parse DateTime result from ajax call to javascript date和Parsing 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”。 我该怎么办?
答案 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()
)