JavaScript下的时间格式处理函数Date.prototype.format
实例一:
一个全的js时间处理函数,虽然我没有仔细去研究里面的正则,但是我经过了测试,是非常好用的,你可以根据你自己的需求设置想要的时间格式的字符串输出,我应用到的格式为:MM/dd/yyyyhh:mmTT和yyyy-MM-ddHH:mm:ss。
<spanstyle="font-size:18px;">Date.prototype.format=function(mask) { vard=this; varzeroize=function(value,length) { if(!length)length=2; value=String(value); for(vari=0,zeros='';i<(length-value.length);i++) { zeros+='0'; } returnzeros+value; }; returnmask.replace(/"[^"]*"|'[^']*'|\b(?:d{1,4}|m{1,4}|yy(?:yy)?|([hHMstT])\1?|[lLZ])\b/g,function($0) { switch($0) { case'd':returnd.getDate(); case'dd':returnzeroize(d.getDate()); case'ddd':return['Sun','Mon','Tue','Wed','Thr','Fri','Sat'][d.getDay()]; case'dddd':return['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'][d.getDay()]; case'M':returnd.getMonth()+1; case'MM':returnzeroize(d.getMonth()+1); case'MMM':return['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'][d.getMonth()]; case'MMMM':return['January','February','March','April','May','June','July','August','September','October','November','December'][d.getMonth()]; case'yy':returnString(d.getFullYear()).substr(2); case'yyyy':returnd.getFullYear(); case'h':returnd.getHours()%12||12; case'hh':returnzeroize(d.getHours()%12||12); case'H':returnd.getHours(); case'HH':returnzeroize(d.getHours()); case'm':returnd.getMinutes(); case'mm':returnzeroize(d.getMinutes()); case's':returnd.getSeconds(); case'ss':returnzeroize(d.getSeconds()); case'l':returnzeroize(d.getMilliseconds(),3); case'L':varm=d.getMilliseconds(); if(m>99)m=Math.round(m/10); returnzeroize(m); case'tt':returnd.getHours()<12?'am':'pm'; case'TT':returnd.getHours()<12?'AM':'PM'; case'Z':returnd.toUTCString().match(/[A-Z]+$/); //Returnquotedstringswiththesurroundingquotesremoved default:return$0.substr(1,$0.length-2); } }); };</span>
实例二:
Date.prototype.format方法在date的原型中扩展了format方法,使其可以方便的格式化日期格式输出。
Date.prototype.format=function(format) { varo={ "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))format=format.replace(RegExp.$1, (this.getFullYear()+"").substr(4-RegExp.$1.length)); for(varkino)if(newRegExp("("+k+")").test(format)) format=format.replace(RegExp.$1, RegExp.$1.length==1?o[k]: ("00"+o[k]).substr((""+o[k]).length)); returnformat; } vardate=newDate(parseInt("1347497754133")); date.format("yyyy-MM-dd");
以上通过两段实例代码给大家介绍了JavaScript下的时间格式处理函数Date.prototype.format的相关内容,希望对大家有所帮助。