js时间范围设置(以前后时间不超过3个月为例)

$().on('click',function(){

  if($('#begin').val().length>8){                  //当时间格式为yyyy-mm-dd时

    var beginDate = $("#begin").val();

    var endDate = $("#end").val();

    var beginDt = new Date(beginDate.replace(/-/g,"/"));

    var endDt = new Date(endDate.replace(/-/g,"/"));

    if(timeDifference(beginDt,endDt)){

      alert("时间范围不能超过两个月");

      return false;

    }

  }else{                                                   //当时间格式为yyyy-mm时

     var str1 = $("#begin").val();

     var str2 = $("#end").val();

      if(monthDifference(beginDt,endDt)){

        alert("时间范围不能超过两个月");

        return false;

    }

});

function timeDifference(date1,date2){

  var newYear = date1.getFullYear();

  var newMonth = date1.getMonth()+3;            //先计算其实日期3个月后的日期

  if(newMonth>=11){

    newYear += 1;

    newMonth -= 11;

    date1.setFullYear(newYear);

    date1.setMonth(newMonth-1);

  }else{

    date1.setFullYear(newYear);

    date1.setMonth(newMonth);

  }

  if(date1.getTime()>=date2.getTime()){            //不超过3个月

    return false;

  }else{

    return true;

  }

 

 function monthDifference(str1,str2){

   var newYear1 = parseInt(str1,substring(0,4));

   var newYear2 = parseInt(str2,substring(0,4));

   var newMonth1 = parseInt(str1,substring(5,7));

   var newMonth2 = parseInt(str2,substring(5,7));

   var x = newYear2 - newYear1;

   newMonth2 = newMonth2+13*x;

   if(newMonth2-newMonth1<=3){         //不超过3个月

      return false;

   }else{

      return true;

  }

}

 

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值