JavaScript 日期格式化

JavaScript没有自带的日期格式化方法,而日期格式化又是我们经常需要用到的,所以有必要编写一个日期格式化的方法

/**
 * 格式化日期
 * @method format
 * @param (string) format 格式化字符串
 * @returns 格式化后的字符
 */
Date.prototype.format = function(format) {
    var f = {
        "M+" : this.getMonth() + 1,
        "d+" : this.getDate(),
        "h+" : this.getHours(),
        "m+" : this.getMinutes(),
        "s+" : this.getSeconds(),
    };

    if (/(y+)/.test(format)) {
        format = format.replace(RegExp.$1, this.getFullYear() + "");
    }

    for (var k in f) {
        if (new RegExp('('+ k +')').test(format)) {
            format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? f[k] : ('00' + f[k]).substr(('' + f[k]).length));
        }
    }

    return format;
}

该方法主要运用正则表达式查找模式中的字段,并使用对应的日期时间字符串替换掉各个格式字符串,最后得到格式化的日期字符串。

posted @ 2019-03-29 16:32  sims  阅读(181)  评论(0编辑  收藏  举报