Js日期格式化

来源:互联网 发布:淘宝迟迟不发货怎么办 编辑:程序博客网 时间:2024/06/05 02:02
//对Date的扩展,将 Date 转化为指定格式的String 年(y) 月(M)、日(d)、12小时(h)、24小时(H)、分(m)、秒(s)、周(E)、季度(q)    //对Date对象添加一个扩展格式化日期的函数 在new Date时直接调用这个函数来格式化日期    Date.prototype.Formart=function(fmt) {             //正则对应的格式        var reg = {                     "M+" : this.getMonth()+1, //月份(0-11)            "d+" : this.getDate(), //日期            "h+" : this.getHours()%12 == 0 ? 12 : this.getHours()%12, //12小时制            "H+" : this.getHours(), //24小时制            "m+" : this.getMinutes(), //分            "s+" : this.getSeconds(), //秒            //季度和我们所说的春夏秋冬不是一回事在这里就不多说了            "q+" : Math.floor((this.getMonth()+3)/3), //季度(1、2、3--1季度 4、5、6--2季度 7、8、9--3季度 10、11、12--4季度)            "S" : this.getMilliseconds() //毫秒        };                 var week = {                     "0" : "日",                     "1" : "一",                     "2" : "二",                     "3" : "三",                     "4" : "四",                     "5" : "五",                     "6" : "六"                };         //正则判断年份位数        if(/(y+)/.test(fmt)){                     fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));                 }                 //正则判断星期格式        if(/(E+)/.test(fmt)){                     fmt=fmt.replace(RegExp.$1, ((RegExp.$1.length>1) ? (RegExp.$1.length>2 ? "星期" : "周") : "")+week[this.getDay()+""]);                 }           //根据Formart参数格式化日期        for(var k in reg){                     if(new RegExp("("+ k +")").test(fmt)){                         fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (reg[k]) : (("00"+ reg[k]).substr((""+ reg[k]).length)));                     }                 }          //返回被格式化的日期        return fmt;             }        var date = new Date();          console.log(date.Formart("yyyy-MM-dd EEE hh:mm:ss"));     
结果:2017-10-27 星期五 11:18:12
原创粉丝点击