JS日期格式化之javascript Date format
在上篇文章给大家介绍了js对Date对象的操作的问题(生成一个倒数7天的数组),本篇介绍有关js日期格式化之javascriptDateformat,本文通过三种方法给大家讲解,具体内容请看下文。
方法一:
//对Date的扩展,将Date转化为指定格式的String //月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q)可以用1-2个占位符, //年(y)可以用1-4个占位符,毫秒(S)只能用1个占位符(是1-3位的数字) //例子: //(newDate()).Format("yyyy-MM-ddhh:mm:ss.S")==>2006-07-0208:09:04.423 //(newDate()).Format("yyyy-M-dh:m:s.S")==>2006-7-28:9:4.18 Date.prototype.Format=function(fmt){//author:meizz varo={ "M+":this.getMonth()+1,//月份 "d+":this.getDate(),//日 "h+":this.getHours(),//小时 "m+":this.getMinutes(),//分 "s+":this.getSeconds(),//秒 "q+":Math.floor((this.getMonth()+3)/3),//季度 "S":this.getMilliseconds()//毫秒 }; if(/(y+)/.test(fmt))fmt=fmt.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length)); for(varkino) if(newRegExp("("+k+")").test(fmt))fmt=fmt.replace(RegExp.$1,(RegExp.$1.length==1)?(o[k]):(("00"+o[k]).substr((""+o[k]).length))); returnfmt; }
调用方式:
vartime1=newDate().Format("yyyy-MM-dd"); vartime2=newDate().Format("yyyy-MM-ddHH:mm:ss");
方法二:
<scriptlanguage="javascript"type="text/javascript"> <!--/***对Date的扩展,将Date转化为指定格式的String*月(M)、日(d)、12小时(h)、24小时(H)、分(m)、秒(s)、周(E)、季度(q) 可以用1-2个占位符*年(y)可以用1-4个占位符,毫秒(S)只能用1个占位符(是1-3位的数字)*eg:*(new Date()).pattern("yyyy-MM-ddhh:mm:ss.S")==>2006-07-0208:09:04.423 *(newDate()).pattern("yyyy-MM-ddEHH:mm:ss")==>2009-03-10二20:09:04 *(newDate()).pattern("yyyy-MM-ddEEhh:mm:ss")==>2009-03-10周二08:09:04 *(newDate()).pattern("yyyy-MM-ddEEEhh:mm:ss")==>2009-03-10星期二08:09:04 *(newDate()).pattern("yyyy-M-dh:m:s.S")==>2006-7-28:9:4.18 */ Date.prototype.pattern=function(fmt){ varo={ "M+":this.getMonth()+1,//月份 "d+":this.getDate(),//日 "h+":this.getHours()%12==0?12:this.getHours()%12,//小时 "H+":this.getHours(),//小时 "m+":this.getMinutes(),//分 "s+":this.getSeconds(),//秒 "q+":Math.floor((this.getMonth()+3)/3),//季度 "S":this.getMilliseconds()//毫秒 }; varweek={ "0":"/u65e5", "1":"/u4e00", "2":"/u4e8c", "3":"/u4e09", "4":"/u56db", "5":"/u4e94", "6":"/u516d" }; if(/(y+)/.test(fmt)){ fmt=fmt.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length)); } if(/(E+)/.test(fmt)){ fmt=fmt.replace(RegExp.$1,((RegExp.$1.length>1)?(RegExp.$1.length>2?"/u661f/u671f":"/u5468"):"")+week[this.getDay()+""]); } for(varkino){ if(newRegExp("("+k+")").test(fmt)){ fmt=fmt.replace(RegExp.$1,(RegExp.$1.length==1)?(o[k]):(("00"+o[k]).substr((""+o[k]).length))); } } returnfmt; } vardate=newDate(); window.alert(date.pattern("yyyy-MM-ddhh:mm:ss")); //--> </script>
方法三:
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); } }); };
以上内容是本文给大家介绍的JS日期格式化之javascriptDateformat,希望大家喜欢。