首页 > 代码库 > 我所见过的最简短、最灵活的javascript日期转字符串工具函数

我所见过的最简短、最灵活的javascript日期转字符串工具函数

我们知道javascript的Date对象并没有提供日期格式化函数。将日期对象转换成"2015-7-02 20:35:11"等这样的格式又是项目中非经常常使用的需求。近期在我们项目中看到了一段代码,非常的简短,这里共享出来。

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
	};
    
	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 date = new Date();
alert(date.format("yyyy-MM--dd hh:mm:ss"));


我所见过的最简短、最灵活的javascript日期转字符串工具函数