在javascript中,当想要 得到当前时间或者格式化一个时间时,会出现像 Sat Nov 17 00:01:04 UTC+0800 2012 的格式。
原因何在?因为js默认的时间格式是UTC的格式,如何转换成 2012-11-17 00:01:14 这种格式呢?
例子:
复制代码 代码示例:
Date.prototype.format = function(format)
{
var o = {
"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(var k in o)if(new RegExp("("+ k +")").test(format))
format = format.replace(RegExp.$1,
RegExp.$1.length==1 ? o[k] :
("00"+ o[k]).substr((""+ o[k]).length));
return format;
}
调用方法:
复制代码 代码示例:
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")