一个时间戳转换日期的小方法=。=

119 阅读1分钟

这个方法网上是有的 但是个人认为不全就有了这个

// 格式dateFormat(date,"你想要的格式") 如"YYYY-MM-DD hh:mm:ss" "YY年M-D hh-mmss 周w"  "周"可以是任意字 W是汉字 w是数字   

function dateFormat(date, format)  {
//date是毫秒哦!
    if (typeof date === "string") {
        var mts = date.match(/(\/Date\((\d+)\)\/)/);
        if (mts && mts.length >= 3) {
            date = parseInt(mts[2]);
        }
    }
    date = new Date(date);
    if (!date || date.toUTCString() == "Invalid Date") {
        return "";
    }
    var WeeKday = ["日", "一", "二", "三", "四", "五", "六"];
    var weekday = ["7", "1", "2", "3", "4", "5", "6"];
    var map = {
        Y: date.getFullYear() + "", //年
        M: date.getMonth() + 1, //月份
        D: date.getDate(), //日
        h: date.getHours(), //小时
        m: date.getMinutes(), //分
        s: date.getSeconds(), //秒
        q: Math.floor((date.getMonth() + 3) / 3), //季度
        S: date.getMilliseconds(), //毫秒
        W: date.getDay(), //星期汉
        w: date.getDay() //星期数字
    };
    format = format.replace(/([YMDdhmsqSWw])+/g, function(allT, t) {
        var v = map[t];
        if (v !== undefined) {
            if (t === "y" || t === "Y") {
                v = v.substr(4 - allT.length);
            }
            if (t != "y" && t != "Y" && t != "w") {
                if (allT.length > 1) {
                    v = v < 10 ? "0" + v : v + "";
                    v = v.substr(allT.length - 2);
                }
            }
            if (t === "W") {
                v = WeeKday[v];
            } else if (t === "w") {
                v = weekday[v];
            }
            return v;
        }
        return allT;
    });
    return format;
}