JavaScript 中Date对象的格式化代码方法汇总
JavaScript默认的时间格式我们一般情况下不会用,所以需要进行格式化,下面说说我总结的JavaScript时间格式化方法。
很多时候,我们可以利用JavaScript中Date对象的内置方法来格式化,如:
vard=newDate(); console.log(d);//输出:MonNov04201321:50:33GMT+0800(中国标准时间) console.log(d.toDateString());//日期字符串,输出:MonNov042013 console.log(d.toGMTString());//格林威治时间,输出:Mon,04Nov201314:03:05GMT console.log(d.toISOString());//国际标准组织(ISO)格式,输出:2013-11-04T14:03:05.420Z console.log(d.toJSON());//输出:2013-11-04T14:03:05.420Z console.log(d.toLocaleDateString());//转换为本地日期格式,视环境而定,输出:2013年11月4日 console.log(d.toLocaleString());//转换为本地日期和时间格式,视环境而定,输出:2013年11月4日下午10:03:05 console.log(d.toLocaleTimeString());//转换为本地时间格式,视环境而定,输出:下午10:03:05 console.log(d.toString());//转换为字符串,输出:MonNov04201322:03:05GMT+0800(中国标准时间) console.log(d.toTimeString());//转换为时间字符串,输出:22:03:05GMT+0800(中国标准时间) console.log(d.toUTCString());//转换为世界时间,输出:Mon,04Nov201314:03:05GMT
如果上面的方法不能满足我们的要求,也可以自定义函数来格式化时间,如:
方法一:
//对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”);
方法二:
方法三:
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);
}
});
};
总结
以上所述是小编给大家介绍的JavaScript中Date对象的格式化代码方法汇总,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!