虽然日期对象可以使用new Date()来获取,但是对于其格式却必须进行相应的转换,才能成为开发者想要的格式。

这里提供了一个封装的方法,通过结合正则表达式的使用,达到了可以对时间对象进行处理,生成多种日期格式的目的。

function dateFormat(date,format) {
var o = {
"M+" : date.getMonth()+1, //month
"d+" : date.getDate(), //day
"h+" : date.getHours(), //hour
"m+" : date.getMinutes(), //minute
"s+" : date.getSeconds(), //second
"q+" : Math.floor((date.getMonth()+3)/3), //quarter
"S" : date.getMilliseconds() //millisecond
}
if(/(y+)/.test(format)) format=format.replace(RegExp.$1,
(date.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;
} //调用
console.log(dateFormat(new Date(), 'yyyy-MM-dd'));
console.log(dateFormat(new Date(), 'MM-yyyy-dd'));
posted on 2016-08-04 16:07  jogging  阅读(360)  评论(0编辑  收藏  举报