JS获取本周、本季度、本月、上月的开始日期、结束日期分析

阿里 阅读:183 2020-04-07 15:17:09 评论:0
/** 
 * 获取本周、本季度、本月、上月的开始日期、结束日期 
 */ 
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);     
}     
 
//今天 
var getCurrentDate = new Date(nowYear, nowMonth, nowDay); 
var getCurrentDate  = formatDate(getCurrentDate) 
 
//昨天 
var getYesterdayDate = new Date(nowYear, nowMonth, nowDay - 1); 
var getYesterdayDate =  formatDate(getYesterdayDate);   
 
//获得某月的天数    
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);    
}

 

声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

发表评论
搜索
关注我们

扫一扫关注我们,了解最新精彩内容