zoukankan      html  css  js  c++  java
  • 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);  
    }

  • 相关阅读:
    Java实现 LeetCode 833 字符串中的查找与替换(暴力模拟)
    Java实现 LeetCode 833 字符串中的查找与替换(暴力模拟)
    Java实现 LeetCode 833 字符串中的查找与替换(暴力模拟)
    Java实现 LeetCode 832 翻转图像(位运算)
    Java实现 LeetCode 832 翻转图像(位运算)
    Java实现 LeetCode 832 翻转图像(位运算)
    Java实现 LeetCode 831 隐藏个人信息(暴力)
    Java实现 LeetCode 831 隐藏个人信息(暴力)
    Java实现 LeetCode 831 隐藏个人信息(暴力)
    how to use automapper in c#, from cf~
  • 原文地址:https://www.cnblogs.com/wuhaidong-me/p/8119656.html
Copyright © 2011-2022 走看看