首页 > 技术文章 > JS日期格式转换成字符串。类似java的SimpleDateFormat类转换成指定格式字符串

vmumu 2018-11-19 09:41 原文

最近需要一个指定格式的日期字符串。

想看下是不是有类似java日期转换类SimpleDateFormat一样的方法

看了下网上的代码,大部分都会分别去获取日期的年,月,日,时分秒。然后根据所需格式拼接。

觉得不适合做成一个js的工具方法。

后面看到这个方法,觉得不错。

DateToStringUtil.js

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
		"q+" : Math.floor((this.getMonth()+3)/3), //quarter
		"S" : this.getMilliseconds() //millisecond
	}
	if(/(y+)/.test(format)){
		console.log(RegExp.$1.length);
		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;
}

console.log(new Date().format("yyyy-MM-dd hh:mm:ss"))

  

y:年

M:月

d:日

h:时

m:分

s:秒

自动替换日期格式字符串里的y,M,d,h,m,s等

推荐阅读