当前位置 : 主页 > 网络编程 > JavaScript >

小巧的日期格式化工具函数

来源:互联网 收集:自由互联 发布时间:2021-06-28
日期格式化 /*** 日期格式化* @function formatDate* @param {Date|String|Number} [date=new Date()] 日期* @param {String} [format="YYYY-M-D"] 日期格式*/formatDate = function (date, format) {if (!(date instanceof Date))date = dat
日期格式化
/**
* 日期格式化
* @function formatDate
* @param {Date|String|Number} [date=new Date()] 日期
* @param {String} [format="YYYY-M-D"] 日期格式
*/
formatDate = function (date, format) {
	if (!(date instanceof Date))
		date = date === undefined ? new Date() : new Date(date);
	if (typeof format !== "string")
		format = "YYYY-M-D";

	var template = [
		{ pattern: /[yY]{4}/g, date: date.getFullYear() }, // 年:4位数
		{ pattern: /[yY]{2}/g, date: date.getFullYear().toString().slice(2) }, // 年:2位数
		{ pattern: /MM/g, date: date.getMonth() < 10 ? "0" + date.getMonth() : date.getMonth() }, // 月:2位数
		{ pattern: /M/g, date: date.getMonth() + 1 }, // 月
		{ pattern: /DD/g, date: date.getDate() < 10 ? "0" + date.getDate() : date.getDate() }, // 日:2位数
		{ pattern: /D/g, date: date.getDate() }, // 日
		{ pattern: /d/g, date: date.getDay() },// 星期
		{ pattern: /hh/g, date: date.getHours() > 12 ? "0" + (date.getHours() - 12) : date.getHours() }, // 小时:12;2位数
		{ pattern: /h/g, date: date.getHours() > 12 ? date.getHours() - 12 : date.getHours() }, //小时 12
		{ pattern: /HH/g, date: date.getHours() < 10 ? "0" + date.getHours() : date.getHours() }, // 小时:24;2位数
		{ pattern: /H/g, date: date.getHours() }, //小时 24
		{ pattern: /mm/g, date: date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes() }, // 分:2位数
		{ pattern: /m/g, date: date.getMinutes() }, // 分
		{ pattern: /ss/g, date: date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds() }, // 秒:2位数
		{ pattern: /s/g, date: date.getSeconds() }, // 秒 
		{ pattern: /[qQ]/g, date: Math.floor((date.getMonth() + 3) / 3) }, // 季度
	];

	template.forEach(function (v) {
		var pattern = v.pattern,
			value = v.date;
		format = format.replace(pattern, value);
	});

	return format;
}
网友评论