今天写了一个ajax请求,当获取对象中的某个日期属性时,发现打印出来是一串数字,例如:1394786876000。可能有人会有疑问了,明明是日期格式,为什么不返回日期,而返回一串数字呢?其实这串数字是个时间戳,也就是从格林威治时间1970年01月01日00时00分00秒起至返回的那个日期的总秒数。如何将时间戳转化为我们需要的格式呢。
在此只介绍一种简单的方法,也是我从网上找来的:
1、在js中先加载一下代码,不需要做任何修改
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;
}
2、使用new Date(时间戳).format('yyyy-MM-dd')方法进行转化即可,返回的就是yyyy-MM-dd格式的值。