所以当你想要 得到当前时间或者格式化一个时间的时候,会出现像 Sat Nov 17 00:01:04 UTC+0800 2012 的格式,为什么呢?因为js默认的时间格式是UTC的格式,那么怎样才能转换成想要的那种 2012-11-17 00:01:14 这种格式呢?
1 Date.prototype.format = function(format) 2 { 3 var o = { 4 "M+" : this.getMonth()+1, //month 5 "d+" : this.getDate(), //day 6 "h+" : this.getHours(), //hour 7 "m+" : this.getMinutes(), //minute 8 "s+" : this.getSeconds(), //second 9 "q+" : Math.floor((this.getMonth()+3)/3), //quarter 10 "S" : this.getMilliseconds() //millisecond 11 } 12 if(/(y+)/.test(format)) format=format.replace(RegExp.$1, 13 (this.getFullYear()+"").substr(4 - RegExp.$1.length)); 14 for(var k in o)if(new RegExp("("+ k +")").test(format)) 15 format = format.replace(RegExp.$1, 16 RegExp.$1.length==1 ? o[k] : 17 ("00"+ o[k]).substr((""+ o[k]).length)); 18 return format; 19 }
使用方法
var d = new Date().format('yyyy-MM-dd'); var dd=new Date("Sat Nov 17 00:01:04 UTC+0800 2012").format("yyyy-MM-dd hh:mm:ss")