Js日期格式化Date.prototype.format

Js+JQuery helloweb 次浏览 已收录 评论() 扫描二维码
扫描二维码

Js 日期格式化

// 对Date的扩展,将 Date 转化为指定格式的 String 
// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, 
// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) 
// 例子: 
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2019-04-07 10:00:04.231 
// (new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2019-4-7 9:8:3.11
 
Date.prototype.format = function(format) {
    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" : this.getMilliseconds()             //毫秒 
    }
    if(/(y+)/.test(format)){
        format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
        for(var k in o){
            if(new RegExp("(" + k + ")").test(format)){
                format = format.replace(RegExp.$1, RegExp.$1.length === 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
            }
        }
    }
    return format;
};

使用示例 1:

获取前一个月的日期

var now = new Date();
// 查询指定前后月份( +1 || -1 )
new Date(now.setMonth((new Date().getMonth() - 1)));
var LastMonth = now.format("yyyy-MM-dd");
console.log(LastMonth);

使用示例 2:

显示完整的17位的:年-月-日-时-分-秒-毫秒

var nowTime1 = now.format("yyyy年MM月dd日hh小时mm分ss秒S");
var nowTime2 = now.format("yyyy-MM-dd hh:mm:ss S");

使用示例 3:

显示单位的(去掉0的) 例如:19年-4月-7号-8点-2分-42秒-839毫秒

var nowTime3 = now.format("yy年M月d日h时m分s秒S");

使用示例 4:

alert(new Date().format("yyyy年MM月dd日"));
alert(new Date().format("MM/dd/yyyy"));
alert(new Date().format("yyyyMMdd"));
alert(new Date().format("yyyy-MM-dd hh:mm:ss"));


原文链接:HelloWeb前端网 » Js日期格式化Date.prototype.format » 感谢您的浏览,希望能有所帮助。

欢迎您加入“Helloweb” 学习交流群:HelloWeb-学习交流群 196291215 共同交流并结识同行,在这里说出您的收获与感想或有什么不同的观点,我们期待您的留言,分享,让我们一起进步!

喜欢 ()or分享