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);     
}     
 
//今天 
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);    
}

 

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/17439.html

(0)
上一篇 2021年7月19日 20:11
下一篇 2021年7月19日 20:11

相关推荐

发表回复

登录后才能评论

WordPress 数据库错误: [Duplicate entry '82-4d3f5343d1f1b32d21fd4fb47d88d6b2' for key 'task_id_source_url_key']
insert into wp_autoblog_queue(task_id,source_url,source_url_key,create_date_time,not_check_stoped,post_interval) values(82,'https://www.idc.net/help/os/linux/page/6438/','4d3f5343d1f1b32d21fd4fb47d88d6b2',1735374842,0,0)