javaScript 里的Date格式化

来源:互联网 发布:视频传输软件 编辑:程序博客网 时间:2024/04/29 06:27
/**因为ie,火狐默认不支持yyyy-MM-dd hh:mm:ss转Date,所以单靠重写Date解决不了问题
 * 扩展日期格式化功能
alert(new Qdoc.Date().format("yyyy年MM月dd日")); 
alert(new Qdoc.Date().format("MM/dd/yyyy")); 
alert(new Qdoc.Date().format("yyyyMMdd")); 
alert(new Qdoc.Date().format("yyyy-MM-dd hh:mm:ss"));
new Qdoc.Date("2011-2-9 00:00:00").date获取标准的date格式
该方法有更好的修改方式 new Qdoc.Date("2011-1-1","yyyy-MM-dd"),但现在不需要,需要的时候自己写哈(注:写的时候转换格式如果不统一又是一个问题,比如yyyy-MM-dd和yyyy-MM-dd hh:mm:ss)
 * */
Qdoc.Date = function(strDate){//这种方法没有格式限制
/*var date = eval('new Date(' + strDate.replace(/\d+(?=-[^-]+$)/,//以new Date(yyyy,MM,dd,hh,mm,ss)转换date,月份要减去一
function (a) {return parseInt(a, 10) - 1; }).match(/\d+/g) + ')');*/
var d = strDate&&strDate.match(/\d+/g);
var date;
if(!d){//此方法为了兼容各种格式
date = new Date();
}else if (d.length == 1) {
date = eval('new Date("' + d + '")');
} else {
d[1] = d[1] - 1;//以new Date(yyyy,MM,dd,hh,mm,ss)转换date,月份要减去一
date = eval('new Date(' + d + ')');
}
Qdoc.Date.prototype.date = date;
Qdoc.Date.prototype.format = function(format) {
//date=this;
var o = {
"M+" : date.getMonth() + 1, // month
"d+" : date.getDate(), // day
"h+" : date.getHours(), // hour
"m+" : date.getMinutes(), // minute
"s+" : date.getSeconds(), // second
"q+" : Math.floor((date.getMonth() + 3) / 3), // quarter
"S" : date.getMilliseconds()
// millisecond
};


if (/(y+)/.test(format)) {
format = format.replace(RegExp.$1, (date.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;
};
};
0 0
原创粉丝点击