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的相关内容,希望对大家有所帮助。