获取本月,本季度,本年的第一天,最后一天

var now = new Date(); //当前日期
var nowMonth = now.getMonth(); //当前月
var nowYear = now.getYear(); //当前年
nowYear += (nowYear < 2000) ? 1900 : 0; //

function setDate(type) {
    var date = new Date(), y = date.getFullYear(), m = date.getMonth();
    var startTime;
    var endTime;
   if(type==1){//本月的第一天,最后一天
       startTime = formatDate(new Date(y, m, 1));
       endTime = formatDate(new Date(y, m + 1, 0));
   }else if(type==2){//本季度的第一天,最后一天
       startTime = getQuarterStartDate();
       endTime = getQuarterEndDate();
   }else if(type==3){//本年的第一天,最后一天
       startTime = y+"-01-01";
       endTime = y+"-12-31";
   }
   
}


//获得本季度的开始日期
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);
}


//获得本季度的开始月份
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 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;
}


//格式化日期: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);
}

猜你喜欢

转载自blog.csdn.net/it_zhang_PG/article/details/82692383