Date Json格式转换Date格式

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);
}
原文地址:https://www.cnblogs.com/danlis/p/5358916.html