js 日期格式化

日期格式化就是根据输入的时间戳和需要格式化的标准格式输出符合格式的日期。如 “yy-MM-dd HH:mm” 的到的就是 12-11-13 03:12


实现最土的办法莫过于 switch… case…


这次是彻底的土了一会,而且稀里糊涂的在分和小时上+1。多谢 slnevergiveup 的支出,及给出了非常棒的解决方法。先贴下代码。


toDate:function(time,format){
var dateTime = new Date(time);
var o = {
“M+” : dateTime.getMonth()+1, //month
“d+” : dateTime.getDate(), //day
“H+” : dateTime.getHours(), //hour
“m+” : dateTime.getMinutes(), //minute
“s+” : dateTime.getSeconds(), //second
“q+” : Math.floor((dateTime.getMonth()+3)/3), //quarter
“S” : dateTime.getMilliseconds() //millisecond
}

if(/(y+)/.test(format)) {
format = format.replace(RegExp.$1, (dateTime.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;
}