• js获取某周、某月、下月、某季度的开始日期、结束日期及判断日期第几周


    //格式化日期:yyyy-MM-dd   

    function formatDate(date) {    
      var myyear = date.getFullYear();   
      var mymonth = date.getMonth()+1;   
      var myweekday = date.getDate();    
         
      if(mymonth < 10){   
        mymonth = "0" + mymonth;   
      }    
      if(myweekday < 10){   
        myweekday = "0" + myweekday;   
      }   
      return (myyear+"-"+mymonth + "-" + myweekday);    
    }    
       
    //获得某月的天数   
    function getMonthDays(paraYear,paraMonth){   
      var monthStartDate = new Date(paraYear, paraMonth, 1);    
      var monthEndDate = new Date(paraYear, paraMonth + 1, 1);    
      var  days  =  (monthEndDate  -  monthStartDate)/(1000  *  60  *  60  *  24);    
      return  days;    
    }    
       
    //获得某周的开始日期   
    function getWeekStartDate(paraYear,paraMonth,paraDay,paraDayOfWeek) {    
      var weekStartDate = new Date(paraYear, paraMonth, paraDay + 1 - paraDayOfWeek);    
      return formatDate(weekStartDate);   
    }    
       
    //获得某周的结束日期   
    function getWeekEndDate(paraYear,paraMonth,paraDay,paraDayOfWeek) {    
      var weekEndDate = new Date(paraYear, paraMonth, paraDay + (7 - paraDayOfWeek));    
      return formatDate(weekEndDate);   
    }    
       
    //获得某月的开始日期   
    function getMonthStartDate(paraYear,paraMonth){   
      var monthStartDate = new Date(paraYear, paraMonth, 1);    
      return formatDate(monthStartDate);   
    }   
       
    //获得某月的结束日期   
    function getMonthEndDate(paraYear,paraMonth){ 
      var monthEndDate = new Date(paraYear,paraMonth, getMonthDays(paraYear,paraMonth));    
      return formatDate(monthEndDate);   
    }   

    //获得上月开始时间  
    function getLastMonthStartDate(paraYear, lastMonth){  
      var lastMonthStartDate = new Date(paraYear, lastMonth, 1);  
      return formatDate(lastMonthStartDate);   
    }  

    //获得上月结束时间  
    function getLastMonthEndDate(paraYear, lastMonth, lastMonth){  
      var lastMonthEndDate = new Date(paraYear, lastMonth, getMonthDays(lastMonth));  
      return formatDate(lastMonthEndDate);   
    }  
       
    //获得某季度的开始日期   
    function getQuarterStartDate(paraYear,paraSeason){   
      switch (paraSeason){   
        case '1' : return paraYear+"-01-01";
        case '2' : return paraYear+"-04-01";
        case '3' : return paraYear+"-07-01";
        case '4' : return paraYear+"-10-01";
      }
    }   
       
    //获得某季度的结束日期   
    function getQuarterEndDate(paraYear,paraSeason){   
      switch (paraSeason){   
      case '1' : return paraYear+"-03-31";
      case '2' : return paraYear+"-06-30";
      case '3' : return paraYear+"-09-30";
      case '4' : return paraYear+"-12-31";
      }  
    }

      //获取某年某周的开始日期
    function getBeginDateOfWeek(paraYear, weekIndex){
      var firstDay = GetFirstWeekBegDay(paraYear);
      //7*24*3600000 是一星期的时间毫秒数,(JS中的日期精确到毫秒)
      var time=(weekIndex-1)*7*24*3600000;
      var beginDay = firstDay;
      //为日期对象 date 重新设置成时间 time
      beginDay.setTime(firstDay.valueOf()+time);
      return formatDate(beginDay);
    }

      //获取某年某周的结束日期
    function getEndDateOfWeek(paraYear, weekIndex){
      var firstDay = GetFirstWeekBegDay(paraYear);
      //7*24*3600000 是一星期的时间毫秒数,(JS中的日期精确到毫秒)
      var time=(weekIndex-1)*7*24*3600000;
      var weekTime = 6*24*3600000;
      var endDay = firstDay;
      //为日期对象 date 重新设置成时间 time
      endDay.setTime(firstDay.valueOf()+weekTime+time);
      return formatDate(endDay);
    }

      //获取日期为某年的第几周
    function GetWeekIndex(dateobj) {
      var firstDay = GetFirstWeekBegDay(dateobj.getFullYear());
      if (dateobj < firstDay) {
       firstDay = GetFirstWeekBegDay(dateobj.getFullYear() - 1);
      }
      d = Math.floor((dateobj.valueOf() - firstDay.valueOf()) / 86400000);
      return Math.floor(d / 7) + 1; 
    }

      //获取某年的第一天
    function GetFirstWeekBegDay(year) {
      var tempdate = new Date(year, 0, 1);
      var temp = tempdate.getDay();
      if (temp == 1){
        return tempdate;
      }
      temp = temp == 0 7 : temp;
      tempdate = tempdate.setDate(tempdate.getDate() + (8 - temp));
      return new Date(tempdate);  
    }

  • 相关阅读:
    IIS10中使用OpenSSL来创建CA并且签发SSL证书
    vim简单题练习-------出自《鸟哥的linux私房菜》第309页码题目
    Linux删除命令rm
    CentOS下Vim加密解密文本
    Linux中bash shell环境变量
    Linux文件系统损坏导致无法正常启动与fsck修复工具
    rm -rf /*时遇到的趣事
    Linux中tree无法正常显示中文的解决方法
    执行shell脚本的四种方式
    私有网络(VPC)概述
  • 原文地址:https://www.cnblogs.com/Look_Sun/p/4368470.html
Copyright © 2020-2023  润新知