今天做项目遇到了一个很有趣的问题,数据库存的是timestamp,分页查询返回的json当然也是Date类型,然后想转为字符串,就尬住了。本以为返回的是Date类型,直接调用格式化方法就OK了,但是却不行,后来发现要取到Date中的time(时间戳)再进行格式化,很有意思,具体什么原因没深入研究,反正问题是解决了。
JS格式化Date数据类型代码
Date.prototype.format = function(fmt) {
var o = {
"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(var k in o) {
if(new RegExp("("+ k +")").test(fmt)){
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
}
}
return fmt;
}
调用方式:
data.time.format
data为后台返回的Date数据