//对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
Js日期格式化
最新推荐文章于 2024-07-11 16:19:39 发布