原文:https://blog.csdn.net/mayixixi/article/details/
ISO 8601扩展格式为: YYYY-MM-DDTHH:mm:ss.sssZ 例如:(下图中红色边框圈起来的部分)

处理代码如下:
function ISO8601DateStr2Date (string) { var regexp = "([0-9]{4})(-([0-9]{2})(-([0-9]{2})" + "(T([0-9]{2}):([0-9]{2})(:([0-9]{2})(\.([0-9]+))?)?" + "(Z|(([-+])([0-9]{2}):([0-9]{2})))?)?)?)?"; if(string) { var d = string.match(new RegExp(regexp)); var offset = 0; var date = new Date(d[1], 0, 1); if (d[3]) { date.setMonth(d[3] - 1); } if (d[5]) { date.setDate(d[5]); } if (d[7]) { date.setHours(d[7]); } if (d[8]) { date.setMinutes(d[8]); } if (d[10]) { date.setSeconds(d[10]); } if (d[12]) { date.setMilliseconds(Number("0." + d[12]) * 1000); } if (d[14]) { offset = (Number(d[16]) * 60) + Number(d[17]); offset *= ((d[15] == '-') ? 1 : -1); } offset -= date.getTimezoneOffset(); var time = (Number(date) + (offset * 60 * 1000)); return time; } else { return null; } }
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/211551.html原文链接:https://javaforall.net
