在我的JS基础微服务中,我以某种方式从内部使用OffSetDateTime的java微服务中获得了以下JSON。
{
"eventTime": "eventTime":{
"offset":{
"totalSeconds":0,
"id":"Z",
"rules":{
"fixedOffset":true,
"transitions":[
],
"transitionRules":[
]
}
},
"year":2018,
"month":"NOVEMBER",
"dayOfMonth":9,
"dayOfWeek":"FRIDAY",
"dayOfYear":313,
"monthValue":11,
"hour":5,
"minute":57,
"second":21,
"nano":716000000
}
}而不是仅仅
{"eventTime" :"2018-11-09T05:57:21.716Z" }如何在JS中解析它?下面给出了NaN
Date.parse(eventTime)其中eventTime是上面提到的第一个字符串。
发布于 2018-11-10 00:11:49
您需要手动解析它。像这样的东西将会起作用:
var res = {
"eventTime":{
"offset":{
"totalSeconds":0,
"id":"Z",
"rules":{
"fixedOffset":true,
"transitions":[
],
"transitionRules":[
]
}
},
"year":2018,
"month":"NOVEMBER",
"dayOfMonth":9,
"dayOfWeek":"FRIDAY",
"dayOfYear":313,
"monthValue":11,
"hour":5,
"minute":57,
"second":21,
"nano":716000000
}
};
var d = new Date(
res.eventTime.year,
res.eventTime.monthValue - 1,
res.eventTime.dayOfMonth,
res.eventTime.hour,
res.eventTime.minute,
res.eventTime.second,
res.eventTime.nano/1000000
);
alert(d.getTime());
Javascript不支持纳秒。仅支持毫秒以下的粒度。
此外,月份来自0 - 11,因此,您需要对本例中的Month值执行value - 1。
https://stackoverflow.com/questions/53229186
复制相似问题