JS获取开始、结束时间

/** 
 * 获取本周、本季度、本月、上月的开始日期、结束日期 
 */  
var now = new Date();                    //当前日期     
var nowDayOfWeek = now.getDay();         //今天本周的第几天     
var nowDay = now.getDate();              //当前日     
var nowMonth = now.getMonth();           //当前月     
var nowYear = now.getYear();             //当前年     
nowYear += (nowYear < 2000) ? 1900 : 0;  //    
  
var lastMonthDate = new Date();  //上月日期  
lastMonthDate.setDate(1);  
lastMonthDate.setMonth(lastMonthDate.getMonth()-1);  
var lastYear = lastMonthDate.getYear();  
var lastMonth = lastMonthDate.getMonth();  
    
//格式化日期: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(myMonth){     
    var monthStartDate = new Date(nowYear, myMonth, 1);      
    var monthEndDate = new Date(nowYear, myMonth + 1, 1);      
    var   days   =   (monthEndDate   -   monthStartDate)/(1000   *   60   *   60   *   24);      
    return   days;      
}     
    
//获得本季度的开始月份     
function getQuarterStartMonth(){     
    var quarterStartMonth = 0;     
    if(nowMonth<3){     
       quarterStartMonth = 0;     
    }     
    if(2<nowMonth && nowMonth<6){     
       quarterStartMonth = 3;     
    }     
    if(5<nowMonth && nowMonth<9){     
       quarterStartMonth = 6;     
    }     
    if(nowMonth>8){     
       quarterStartMonth = 9;     
    }     
    return quarterStartMonth;     
}     
    
//获得本周的开始日期     
function getWeekStartDate() {      
    var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek);      
    return formatDate(weekStartDate);     
}      
    
//获得本周的结束日期     
function getWeekEndDate() {      
    var weekEndDate = new Date(nowYear, nowMonth, nowDay + (6 - nowDayOfWeek));      
    return formatDate(weekEndDate);     
}      
    
//获得本月的开始日期     
function getMonthStartDate(){     
    var monthStartDate = new Date(nowYear, nowMonth, 1);      
    return formatDate(monthStartDate);     
}     
    
//获得本月的结束日期     
function getMonthEndDate(){     
    var monthEndDate = new Date(nowYear, nowMonth, getMonthDays(nowMonth));      
    return formatDate(monthEndDate);     
}     
  
//获得上月开始时间  
function getLastMonthStartDate(){  
    var lastMonthStartDate = new Date(nowYear, lastMonth, 1);  
    return formatDate(lastMonthStartDate);    
}  
  
//获得上月结束时间  
function getLastMonthEndDate(){  
    var lastMonthEndDate = new Date(nowYear, lastMonth, getMonthDays(lastMonth));  
    return formatDate(lastMonthEndDate);    
}  
    
//获得本季度的开始日期     
function getQuarterStartDate(){     
         
    var quarterStartDate = new Date(nowYear, getQuarterStartMonth(), 1);      
    return formatDate(quarterStartDate);     
}     
    
//或的本季度的结束日期     
function getQuarterEndDate(){     
    var quarterEndMonth = getQuarterStartMonth() + 2;     
    var quarterStartDate = new Date(nowYear, quarterEndMonth, getMonthDays(quarterEndMonth));      
    return formatDate(quarterStartDate);     
}  
原文地址:https://www.cnblogs.com/EnSnail/p/6420212.html