最近很多朋友给我私聊信息,问我获取时间各种问题!博主今天和大家分享下如何获取时间、格式化时间以及时间大于1小于10补0的方法:

如何获取前天、昨天、今天、明天、后天、大后天

代码如下:

<script language="JavaScript" type="text/javascript"> 
	function GetDateStr(AddDayCount) { 
		var dd = new Date(); 
		dd.setDate(dd.getDate()+AddDayCount);//获取AddDayCount天后的日期 
		var y = dd.getFullYear(); 
		var m = dd.getMonth()+1;//获取当前月份的日期 
		var d = dd.getDate(); 
		return y+"-"+m+"-"+d; 
	} 
	console.log("前天:"+GetDateStr(-2)); 
	console.log("昨天:"+GetDateStr(-1)); 
	console.log("今天:"+GetDateStr(0)); 
	console.log("明天:"+GetDateStr(1)); 
	console.log("后天:"+GetDateStr(2)); 
	console.log("大后天:"+GetDateStr(3)); 
</script>

结果:

JS获取时间、时间格式化以及时间大于1小于10补0方法-Monkey前端博客

我们可以看到上面这个结果2017-3-4,但是很多情况下我们是需要当它小于10的时候需要自动补0,也方便我们进行日期比较,那如何在大于1小于10的时候自动补0呢!

日期大于1小于10自动补0

代码如下:

function num(s) {
    return s < 10 ? '0' + s: s;
}

结合前面获取时间的代码如下:

function num(s) {
    return s < 10 ? '0' + s: s;
}
function GetDateStr(AddDayCount) { 
	var dd = new Date(); 
	dd.setDate(dd.getDate()+AddDayCount);//获取AddDayCount天后的日期 
	var y = dd.getFullYear(); 
	var m = dd.getMonth()+1;//获取当前月份的日期 
	var d = dd.getDate(); 
	return y+"-"+num(m)+"-"+num(d); 
}

结果:

JS获取时间、时间格式化以及时间大于1小于10补0方法-Monkey前端博客

嗯哼!实现了这个效果了,但是前面也说了可以方便日期进行比较大小,这样貌似不行啊,多了个“-”这个符号。那接下来我们就把符号也去掉吧,这样就满足大部分的需求了:

如何格式化日期时间

代码如下:

function getYmdData($data) {
    var arr = $data.replace(/ |:/g, '-').split('-');
    var date;
    date = arr[0] + arr[1] + arr[2];
    return date;
}

然后结合上面的直接输出console.log(getYmdData(GetDateStr(0)),得出结果是20170306;

输出代码:

console.log("前天:"+getYmdData(GetDateStr(-2))); 
console.log("昨天:"+getYmdData(GetDateStr(-1))); 
console.log("今天:"+getYmdData(GetDateStr(0))); 
console.log("明天:"+getYmdData(GetDateStr(1))); 
console.log("后天:"+getYmdData(GetDateStr(2))); 
console.log("大后天:"+getYmdData(GetDateStr(3)));

结果:

JS获取时间、时间格式化以及时间大于1小于10补0方法-Monkey前端博客

这样就可以让你随心所欲的各种做比较,也可以满足大部分的需求了,希望对大家有所帮助!下面给大家在分享下日期的其余语法,有需要的朋友可以直接拷贝来使用:

var mydate = new Date();
mydate.getYear(); //获取当前年份(2位)
mydate.getFullYear(); //获取完整的年份(4位,1970-????)
mydate.getMonth(); //获取当前月份(0-11,0代表1月)
mydate.getDate(); //获取当前日(1-31)
mydate.getDay(); //获取当前星期X(0-6,0代表星期天)
mydate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
mydate.getHours(); //获取当前小时数(0-23)
mydate.getMinutes(); //获取当前分钟数(0-59)
mydate.getSeconds(); //获取当前秒数(0-59)
mydate.getMilliseconds(); //获取当前毫秒数(0-999)
mydate.toLocaleDateString(); //获取当前日期
var mytime=mydate.toLocaleTimeString(); //获取当前时间
mydate.toLocaleString( ); //获取日期与时间