最近需要一个指定格式的日期字符串。
想看下是不是有类似java日期转换类SimpleDateFormat一样的方法
看了下网上的代码,大部分都会分别去获取日期的年,月,日,时分秒。然后根据所需格式拼接。
觉得不适合做成一个js的工具方法。
后面看到这个方法,觉得不错。
DateToStringUtil.js
Date.prototype.format =function(format)
{
var o = {
"M+" : this.getMonth()+1, //month
"d+" : this.getDate(), //day
"h+" : this.getHours(), //hour
"m+" : this.getMinutes(), //minute
"s+" : this.getSeconds(), //second
"q+" : Math.floor((this.getMonth()+3)/3), //quarter
"S" : this.getMilliseconds() //millisecond
}
if(/(y+)/.test(format)){
console.log(RegExp.$1.length);
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;
}
console.log(new Date().format("yyyy-MM-dd hh:mm:ss"))
y:年
M:月
d:日
h:时
m:分
s:秒
自动替换日期格式字符串里的y,M,d,h,m,s等