CreateTime=/Date(1458722493663+0800)/
var CreateTime="/Date(1458722493663+0800)/";
var startIndex = CreateTime.indexOf("(") + 1; var endIndex = arr[i].CreateTime.indexOf(")"); var date = CreateTime.substring(startIndex, endIndex); date = new Date(parseInt(date));
可以直接截取字串也可以使用replace替换掉,反正拿到1458722493663+0800这个就可以了
不过这里重点要注意的是:这个数据1458722493663+0800需要转换成int类型才可以使用
否则会一直报Invalid Date的
一直没有转换,在控制台一直测试都是成功,一直找不到错误地方。
一直查看了大概一个小时,再回到百度查了一遍又一遍,终于某刻眼睛一亮,看到个parseInt,这问题总算是过了
至于格式转换,记得好像写过,还是再发一遍好了
Date.prototype.Format = function (fmt) { //author: meizz var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "h+": this.getHours(), //小时 "m+": this.getMinutes(), //分 "s+": this.getSeconds(), //秒 "q+": Math.floor((this.getMonth() + 3) / 3), //季度 "S": DataPrivatePad(this.getMilliseconds(), 3) //毫秒 }; if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); for (var k in o) if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); return fmt; } function DataPrivatePad(num, n) { return (Array(n).join(0) + num).slice(-n); }