js获取本周的周一周日,获取下周的周一周日

最近有一个需求,时间粒度选周的时候,如果今天是本周一就显示本周周一到周日,如果不是周一就显示下周周一周末,下面是查到的几种方法整理

获取本周周一周日

方法1

		var now = new Date();
        var nowTime = now.getTime() ;
        var day = now.getDay();
        var oneDayTime = 24*60*60*1000 ;
        var MondayTime = nowTime - (day-1)*oneDayTime ;//显示周一
        var SundayTime =  nowTime + (7-day)*oneDayTime ;//显示周日

方法2

//开始日期周一

function getStart(){
  var now = new Date(); 
  var nowTime = now.getTime() ;
  var day = now.getDay();
  var oneDayLong = 24*60*60*1000 ; 
  var MondayTime = nowTime - (day-1)*oneDayLong  ; 
  var monday = new Date(MondayTime);
  var year = monday.getFullYear();
  var month = monday.getMonth()+1;
  var day =  monday.getDate();
  var day2 = monday.getDate()+5;
  var startTime = year + '-' + month +'-'+day;
  return startTime;
}
//结束时间 周日
function getEnd(){
  var now = new Date(); 
  var nowTime = now.getTime() ;
  var day = now.getDay();
  var oneDayLong = 24*60*60*1000 ; 
  var MondayTime = nowTime - (day-1)*oneDayLong  ; 
  var monday = new Date(MondayTime);
  var year = monday.getFullYear();
  var month = monday.getMonth()+1;
  var day =  monday.getDate();
  var day2 = monday.getDate()+5;
  var endTime = year + '-' + month +'-'+day2;
  return endTime;
}

获取下周周一周日

function getnextDat(day){
    	var Stamp = new Date(); 
    	var num = day-Stamp.getDay()+1;
    	Stamp.setDate(Stamp.getDate() + num);
    	var year = Stamp.getFullYear(); //获取完整的年份(4位,1970-????)
    	var month = Stamp.getMonth() +1; //获取当前月份(0-11,0代表1月)
    	var mvar ='';
    	if(month<10){
    		mvar = '0' + month;
    	}else{
    		mvar = month+'';
    	}
    	var day = Stamp.getDate();
    	var dvar ='';
    	if(day<10){
    		dvar = '0' + day;
    	}else{
    		dvar = day+'';
    	}
    	return year+"-"+mvar+'-'+dvar
    }
    getnextDat(7)//下周一
    getnextDat(13)//下周日

My97DatePicker

onfocus /click
使用onfocus实时更换日历显示范围,和禁止显示的日期

<span>时间</span> 
<input type="text" class="Wdate weekhourse" id='start_time' onFocus="checkStartTime()"  />
<input type="text" class="Wdate weekhourse" id='end_time'onFocus="checkEndTime()" />


//js
function checkStartTime(){
	   var _params={
			   minDate:nowTime,
			   skin:'whyGreen',
			   dateFmt:'yyyy-MM-dd',
	   }
	   if($("#selectTime").find("option:selected").text()=='周'){
		   _params.disabledDays=[2,3,4,5,6]
	   }
		WdatePicker(_params);            //调用WdatePicker.js参数设置方法
	}
    function checkEndTime(){
    	//"WdatePicker({minDate:'#F{$dp.$D(\'start_time\')}',skin:'whyGreen',dateFmt:'yyyy-MM-dd'})"
    	var _params={
 			   minDate: $("#start_time").val(),
 			   skin:'whyGreen',
 			   dateFmt:'yyyy-MM-dd',
 	   }
    	if($("#selectTime").find("option:selected").text()=='周'){
 		   _params.disabledDays=[2,3,4,5,6]
 	   }
 		WdatePicker(_params);            //调用WdatePicker.js参数设置方法
    }

获取指定日期前一天

 function getBeforeDay(d){
	    d = new Date(d);
	    d = +d - 1000*60*60*24;
	    d = new Date(d);
	    var year = d.getFullYear();
	    var mon = d.getMonth()+1;
	    var day = d.getDate();
	    s = year+"-"+(mon<10?('0'+mon):mon)+"-"+(day<10?('0'+day):day);
	    return s;
    }

获取当前日期的前n天

function getBeforeDate(n) {
        var n = n;
        var d = new Date();
        d.setDate(d.getDate() - n);
       var year = d.getFullYear();
       var mon = d.getMonth() + 1;
       var day = d.getDate();
       var s = year + "-" + (mon < 10 ? ('0' + mon) : mon) + "-" + (day < 10 ? ('0' + day) : day);
        return s;
    }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值