最近需要一个指定格式的日期字符串。
想看下是不是有类似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等