1. 程式人生 > >我所見過的最簡短、最靈活的javascript日期轉字符串工具函數

我所見過的最簡短、最靈活的javascript日期轉字符串工具函數

var gets java cti return -m func date 靈活

我們知道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日期轉字符串工具函數