格式化时间小插件

//三种获得当前时间戳的方式
var timestamp1 = (new Date()).valueOf();
var timestamp2 = new Date().getTime();
var timestamp3 = Date.parse(new Date());
console.log(timestamp1,timestamp2,timestamp3);
// 1494487912124 1494487912124 1494487912000

var now = new Date();
console.log(now)   // Thu May 11 2017 15:31:07 GMT+0800 (CST)


console.log(formatDate(now,'yyyy-MM-dd hh:mm'));

//格式化时间方法
function formatDate(date,fmt){
    if(/(y+)/.test(fmt)){
        fmt = fmt.replace(RegExp.$1,(date.getFullYear()+'').substr(4 - RegExp.$1.length));
                console.log(fmt);  //"2017-MM-dd hh:mm"
    }

    var o = {
        'M+': date.getMonth() + 1,
        'd+': date.getDate(),
        'h+': date.getHours(),
        'm+': date.getMinutes(),
        's+': date.getSeconds()
    }
    for(let k in o){
        if(new RegExp(`(${k})`).test(fmt)){
            let str = o[k] + '';
            fmt = fmt.replace(RegExp.$1,(RegExp.$1.length === 1) ? str : padLeftZero(str));
                        console.log(fmt);  // 2017-05-dd hh:mm    依次替换 并且不足两位补0
        }
    }
    return fmt;
}
// 不足两位补0
function padLeftZero(str){
    return ('00'+str).substr(str.length);
}

欢迎访问我的博客,同步发布
感谢阅读,如有错误欢迎指正。

你可能感兴趣的:(格式化时间小插件)