js获取指定Date的周一、周天、月、季度、半年、年

//获取当前周从星期一到星期天的日期
function getDates(date) {
          var currentDate = new Date(date);
          var timesStamp = currentDate.getTime();
          var currenDay = currentDate.getDay();
          var dates = [];
          for (var i = 0; i < 7; i++) {
              new Date(timesStamp + 24 * 60 * 60 * 1000 * (i - (currenDay + 6) % 7)).toLocaleDateString().replace(/\//g, '-');
          }
          selectBeginDate = new Date(timesStamp + 24 * 60 * 60 * 1000 * (0 - (currenDay + 6) % 7)).toLocaleDateString().replace(/\//g, '-');
          selectEndDate = new Date(timesStamp + 24 * 60 * 60 * 1000 * (6 - (currenDay + 6) % 7)).toLocaleDateString().replace(/\//g, '-');
          return dates
      }


//获取当前日期所在月的第一天和最后一天
      function getCurrentMonthFirst(date){
          var date=new Date(date);
          date.setDate(1);
          selectBeginDate = date.toLocaleDateString().replace(/\//g, '-');
      }


      function getCurrentMonthLast(date){
          var date=new Date(date);
          var currentMonth=date.getMonth();
          var nextMonth=++currentMonth;
          var nextMonthFirstDay=new Date(date.getFullYear(),nextMonth,1);
          var oneDay=1000*60*60*24;
          selectEndDate = new Date(nextMonthFirstDay-oneDay).toLocaleDateString().replace(/\//g, '-');
      }

//获取当前日期所在季度
      function getSeasonDate(season,date){

          var date=new Date(date);
          date.setMonth(season[0]-1);
          date.setDate(1);
          selectBeginDate = date.toLocaleDateString().replace(/\//g, '-');

          date.setMonth(season[2]-1);
          var currentMonth=date.getMonth();
          var nextMonth=++currentMonth;
          var nextMonthFirstDay=new Date(date.getFullYear(),nextMonth,1);
          var oneDay=1000*60*60*24;
          selectEndDate = new Date(nextMonthFirstDay-oneDay).toLocaleDateString().replace(/\//g, '-');
      }



      function getSeason(date){
          var date=new Date(date);
          var season1 = [1,2,3];
          var season2 = [4,5,6];
          var season3 = [7,8,9];
          var season4 = [10,11,12];
          var month=date.getMonth()+1;
          if($.inArray(month, season1)!=-1){
              getSeasonDate(season1,date);
   }else if($.inArray(month, season2)!=-1){
              getSeasonDate(season2,date);
   }else if($.inArray(month, season3)!=-1){
              getSeasonDate(season3,date);
          }else if($.inArray(month, season4)!=-1){
              getSeasonDate(season4,date);
          }
}

//半年
      function getSemiAnnualDate(semiAnnual,date){

          var date=new Date(date);
          date.setMonth(semiAnnual[0]-1);
          date.setDate(1);
          selectBeginDate = date.toLocaleDateString().replace(/\//g, '-');

          date.setMonth(semiAnnual[5]-1);
          var currentMonth=date.getMonth();
          var nextMonth=++currentMonth;
          var nextMonthFirstDay=new Date(date.getFullYear(),nextMonth,1);
          var oneDay=1000*60*60*24;
          selectEndDate = new Date(nextMonthFirstDay-oneDay).toLocaleDateString().replace(/\//g, '-');
      }

      function getSemiAnnual(date){
          var date=new Date(date);
          var semiAnnual1 = [1,2,3,4,5,6];
          var semiAnnual2 = [7,8,9,10,11,12];
          var month=date.getMonth()+1;
          if($.inArray(month, semiAnnual1)!=-1){
              getSemiAnnualDate(semiAnnual1,date);
          }else if($.inArray(month, semiAnnual2)!=-1){
              getSemiAnnualDate(semiAnnual2,date);
          }
      }

//全年
      function getAnnualDate(date){
          var date=new Date(date);
          date.setMonth(0);
          date.setDate(1);
          selectBeginDate = date.toLocaleDateString().replace(/\//g, '-');

          date.setMonth(11);
          var currentMonth=date.getMonth();
          var nextMonth=++currentMonth;
          var nextMonthFirstDay=new Date(date.getFullYear(),nextMonth,1);
          var oneDay=1000*60*60*24;
          selectEndDate = new Date(nextMonthFirstDay-oneDay).toLocaleDateString().replace(/\//g, '-');
}

function getBeginEndDate(date,type){
          console.log(date,'date',type,'type');
          if(date && type){
              switch(type)
              {
                  case "zff2601":
                      getDates(date);
                      break;
                  case "zff2602":
                      getCurrentMonthFirst(date);
                      getCurrentMonthLast(date);
                      break;
                  case "zff2603":
                      getSeason(date);
                      break;
                  case "zff2604":
                      getSemiAnnual(date);
                      break;
                  case "zff2605":
                      getAnnualDate(date);
                      break;
              }
              $("#selectBeginDate").val(selectBeginDate);
              $("#selectEndDate").val(selectEndDate);

              $("#selectBeginDateView").html(selectBeginDate);
              $("#selectEndDateView").html(selectEndDate);
              $("#temp").html("~");
              console.log(selectBeginDate,'selectBeginDate',selectEndDate,'selectEndDate');
          }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值