js格式化日期

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js格式化日期相关的知识,希望对你有一定的参考价值。

// 目前只支持 yyyy mm dd
	function formatDate(date,format) {
		var date = new Date(date);
		var year = date.getFullYear();
		var month = date.getMonth();
		var month1 = month + 1;
		var day = date.getDate();
		var weekDay = date.getDay();
		return format.replace(/yyyy/g, year)
					 .replace(/yy/g, (year + ‘‘).substring(2))
					 .replace(/mm/g, month1 < 10 ? ‘0‘ + month1 : month1)
					 .replace(/m/g, month1)
					 .replace(/dd/g, day < 10 ? ‘0‘ + day : day)
					 .replace(/d/g, day);
	}
	

	// 目前只支持 yyyy mm dd
	function parseDate(dateStr,format){
		// parse year 
		var year = null;
		var yearPattern = /y{2,4}/g
		var yearMatches = yearPattern.exec(format);
		
		if(yearMatches!=null){
			var yearMatch = yearMatches[0];
			var yearIndex = format.indexOf(yearMatch);
			year = dateStr.substr(yearIndex,yearMatch.length);
		}
		
		// parse month
		var month = null;
		var monthPattern = /m{1,2}/g
		var monthMatches = monthPattern.exec(format);
		
		if(monthMatches!=null){
			var monthMatch = monthMatches[0];
			var monthIndex = format.indexOf(monthMatch);
			month = dateStr.substr(monthIndex,monthMatch.length);
		}

		
		// parse date
		var date = null;
		var datePattern = /d{1,2}/g
		var dateMatches = datePattern.exec(format);
		
		if(dateMatches!=null){
			var dateMatch = dateMatches[0];
			var dateIndex = format.indexOf(dateMatch);
			date = dateStr.substr(dateIndex,dateMatch.length);
		}
		
		var d = new Date();
		
		d.setFullYear(parseInt(year));
		d.setMonth(parseInt(month)-1);
		d.setDate(parseInt(date));
		return d;
	}


以上是关于js格式化日期的主要内容,如果未能解决你的问题,请参考以下文章

怎样在js里面格式化日期

如何定义js的 日期格式

JS格式化日期和格式化日期的字符串转日期

用js实现日期时间格式化?

js到底是如何把字串变数格式化为指定格式的日期的呢

JS最简便日期格式化YYYYMMDD的方法