js计算每个月有多少天或者得到每个月的最后一天

解决方案 »

  1.   

    new Date (year, month,date),以这个格式初始化日期。如:(new Date(2011,01,0)).getDate()就能得到一月2011年1月份的最后一天,改变month的值,就能得到相应月的最后一天
      

  2.   

    var year = "2011";
    var str = "";
    for(var m = 1 ; m <= 12; m ++)
    {
    var dt = new Date();
    dt.setFullYear(year);
    dt.setMonth(m-1);
    for(var d = 1; d<=32; d++)
    {
    dt.setDate(d)
    if(dt.getDate() != d)
    {
    str += year+"年:"+m+"月有"+(d-1)+"天</br>"
    break;
    }
    }
    }
    document.write(str)
      

  3.   


    var m_aMonHead = new Array(12);         //定义阳历中每个月的最大天数
        m_aMonHead[0] = 31; m_aMonHead[1] = 28; m_aMonHead[2] = 31; m_aMonHead[3] = 30; m_aMonHead[4]  = 31; m_aMonHead[5]  = 30;
        m_aMonHead[6] = 31; m_aMonHead[7] = 31; m_aMonHead[8] = 30; m_aMonHead[9] = 31; m_aMonHead[10] = 30; m_aMonHead[11] = 31;
    //判断某年是否为闰年
    function isPinYear(year){
     var bolRet = false;
     if (0==year%4&&((year%100!=0)||(year%400==0))) {
      bolRet = true;
     }
     return bolRet;
    }
    //得到一个月的天数,闰年为29天
    function getMonthCount(year,month){
     var c=m_aMonHead[month-1];
     if((month==2)&&isPinYear(year)) c++;
     return c;
    }