Vue 判断当前时间是否在某一区间中(HH:MM:SS)

在练习的过程中遇到了需要根据当前时间不同出现发生前、发生中、发生后三种情况的功能,在这里把自己用的方法整理一下:

大致思路是,获取当前的标准时间,然后将起始时间和终止时间(HH:MM:SS)都转换成标准时间,

进行比较后区分出三种情况

获取当前时间和拼接转换:

const getNowDate = () => {
	let date = new Date();
	var y = date.getFullYear();
	var m =
		date.getMonth() + 1 < 10 ?
		"0" + (date.getMonth() + 1) :
		date.getMonth() + 1;
	var d = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
	var formatdate = y + "-" + m + "-" + d;
	return formatdate;
}

三种情况的区分:

const isDuringDate = (begin, end) => {
	let date = getNowDate() // 获取当前日期 YYYY-MM-DD
	// 获取当前时间
	let curDate = new Date(),
		beginDate = new Date(date + ' ' + begin), // 开始时间 拼接时间为YYYY-MM-DD HH:mm:ss
		endDate = new Date(date + ' ' + end); // 结束时间
	if(curDate < beginDate){
		return 1;
	}else if(curDate >= beginDate && curDate <= endDate){
		return 2;
	}else if(curDate > endDate){
		return 3;
	}
}

希望能为你带来帮助

你可能感兴趣的:(vue.js,javascript,前端)