获取 上月,本月,下月时间 js

本文介绍了如何使用JavaScript获取并处理当前周和月份的起止日期,包括getWeekStartAndEnd和getMonthStartAndEnd函数,展示了针对不同时间段的日期计算技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/获取当天的时间
function getToday() { 
	var date = new Date();
	return date .getFullYear() + "-" + (date .getMonth()+1) + "-" +  date .getDate() ;
}


/** 
* 获得相对当前周AddWeekCount个周的起止日期 
* AddWeekCount为0代表当前周  为-1代表上一个周  为1代表下一个周以此类推
* **/ 
function getWeekStartAndEnd(AddWeekCount) { 
//起止日期数组  
	var startStop = new Array(); 
	//一天的毫秒数  
	var millisecond = 1000 * 60 * 60 * 24; 
	//获取当前时间  
	var currentDate = new Date();
	//相对于当前日期AddWeekCount个周的日期
	currentDate = new Date(currentDate.getTime() + (millisecond * 7*AddWeekCount));
	//返回date是一周中的某一天
	var week = currentDate.getDay(); 
	//返回date是一个月中的某一天  
	var month = currentDate.getDate();
	//减去的天数  
	var minusDay = week != 0 ? week - 1 : 6; 
	//获得当前周的第一天  
	var currentWeekFirstDay = new Date(currentDate.getTime() - (millisecond * minusDay)); 
	//获得当前周的最后一天
	 var currentWeekLastDay = new Date(currentWeekFirstDay.getTime() + (millisecond * 6));
	//添加至数组  
	startStop.push(getDateStr3(currentWeekFirstDay)); 
	startStop.push(getDateStr3(currentWeekLastDay)); 
	
	return startStop; 
} 
/** 
* 获得相对当月AddMonthCount个月的起止日期 
* AddMonthCount为0 代表当月 为-1代表上一个月 为1代表下一个月 以此类推
* ***/ 
function getMonthStartAndEnd(AddMonthCount) { 
	//起止日期数组  
	var startStop = new Array(); 
	//获取当前时间  
	var currentDate = new Date();
	var month=currentDate.getMonth()+AddMonthCount;
	if(month<0){
	  var n = parseInt((-month)/12);
	  month += n*12;
	  currentDate.setFullYear(currentDate.getFullYear()-n);
	}
	currentDate = new Date(currentDate.setMonth(month));
	//获得当前月份0-11  
	var currentMonth = currentDate.getMonth(); 
	//获得当前年份4位年  
	var currentYear = currentDate.getFullYear(); 
	//获得上一个月的第一天  
	var currentMonthFirstDay = new Date(currentYear, currentMonth,1); 
	//获得上一月的最后一天  
	var currentMonthLastDay = new Date(currentYear, currentMonth+1, 0); 
	//添加至数组  
	startStop.push(getDateStr3(currentMonthFirstDay)); 
	startStop.push(getDateStr3(currentMonthLastDay)); 
	//返回  
	return startStop; 
}


//获取当前日期yy-mm-dd
//date 为时间对象
function getDateStr3(date) {
	var year = "";
	var month = "";
	var day = "";
	var now = date;
	year = ""+now.getFullYear();
	if((now.getMonth()+1)<10){
	  month = "0"+(now.getMonth()+1);
	}else{
	  month = ""+(now.getMonth()+1);
	}
	if((now.getDate())<10){
	  day = "0"+(now.getDate());
	}else{
	  day = ""+(now.getDate());
	}
	return year+"-"+month+"-"+day;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值