js獲取今天到前7天日期並輸出

我就是曹總發表於2019-05-11


更改本地時間,呼叫getSevenTime(),得到時間為

現在時間為 2014-11-04

2014-10-28 08:00:00,2014-10-29 08:00:00,2014-10-30 08:00:00,2014-10-31 08:00:00,2014-11-02 08:00:00,2014-11-03 08:00:00,2014-11-04 08:00:00

現在時間為 2014-11-25

2014-11-18 08:00:00,2014-11-19 08:00:00,2014-11-20 08:00:00,2014-11-21 08:00:00,2014-11-22 08:00:00,2014-11-23 08:00:00,2014-11-24 08:00:00,2014-11-25 08:00:00



function getSevenTime(){
	var s="";
	var d=new Date();
	var year=d.getFullYear();
	var mon1=d.getMonth()+1;
	var day1=d.getDate();
	d.setDate(d.getDate()-7);
	var mon2=d.getMonth()+1;
	var day2=d.getDate()-1;
	
	
	var vd=new Array();//儲存近7天資料
	
	if(mon2<mon1){
		var daycount=getCountDays(year,mon2);
		for(var i=day2;i<daycount;i++){
			var days=parseInt(i)+1;
			vd.push(year+"-"+mon2+"-"+addzero(days)+" 08:00:00");
		}
		for(var i=1;i<day1;i++){
			var days=parseInt(i)+1;
			vd.push(year+"-"+mon1+"-"+addzero(days)+" 08:00:00");
		}
		
	}else{
		for(var i=day2;i<day1;i++){
			var days=parseInt(i)+1;
			vd.push(year+"-"+mon2+"-"+addzero(days)+" 08:00:00");
		}
	}
	
	console.log(vd+"陣列");
	return vd;
}


//判斷一個月有多少天
function getCountDays(year, month) {
	var curDate = new Date(year, month - 1);
	/* 獲取當前月份 */
	var curMonth = curDate.getMonth();
	/* 生成實際的月份: 由於curMonth會比實際月份小1, 故需加1 */
	curDate.setMonth(curMonth + 1);
	/* 將日期設定為0, 這裡為什麼要這樣設定, 我不知道原因, 這是從網上學來的 */
	curDate.setDate(0);
	/* 返回當月的天數 */

	return curDate.getDate();
}



//小於10滴天數,前面新增上0
function addzero(num){
	if(parseInt(num)<10){
		return "0"+num;
	}else{
		return num;
	}
}



內容均為作者獨立觀點,不代表八零IT人立場,如涉及侵權,請及時告知。

相關文章