写个函数传入 两个月份 作为参数比如  2008-08  2009-05要求把  这之间的所有月份按顺序都放到一个数组arrMonth里面
var arrMonth=new Array();
function GetArrMonth(month1,month2)
{}

解决方案 »

  1.   

    function GetArrMonth(month1,month2) 

        var arrMonth = new Array();
        var dt1  = Date.parse(month1.replace(/-/g,"/") + "/1");
        var dt2  = Date.parse(month2.replace(/-/g,"/") + "/1");
        if(dt1 > dt2){var t = dt2; dt2 = dt1; dt1 = t;}
        dt1 = new Date(dt1);
        dt2 = new Date(dt2);
        var dt = dt1;
        var n = 1;
        arrMonth[0] = dt.getFullYear() + "-" + (dt.getMonth()+1);
        while(dt.valueOf() != dt2.valueOf()){
            dt = new Date(dt.getFullYear(), dt.getMonth()+1, 1);
            arrMonth[n] = dt.getFullYear() + "-" + (dt.getMonth()+1);
            n++;
        }
        return arrMonth;
    }arr = GetArrMonth("2008-08",  "2009-05");
    for(var i=0;i<arr.length;i++) alert(arr[i]); 
      

  2.   

    function test(start, end){
    start = start.split('-'), end = end.split('-');
    start = new Date(start[0], start[1]), end = new Date(end[0], end[1]);
    var diff = new Date(end.getTime() - start.getTime()), o = new Date(0),
    dYear = diff.getYear() - o.getYear(), dMonth = diff.getMonth() - o.getMonth(),
    month = dYear * 12 + dMonth - 1, ret = [];
    for(var i = 0; i < month; i++){
    start.setMonth(start.getMonth() + 1);
    ret.push(start.getYear() + '-' + start.getMonth());
    }
    return ret;
    }alert(test('2008-08', '2009-05'));
      

  3.   

    简化一下
    function test(start, end){
    start = start.split('-'), end = end.split('-');
    start = new Date(start[0], start[1]);
    var dYear = (end[0] - 0) - start.getYear(), dMonth = (end[1] - 0) - start.getMonth(),
    diff = dYear * 12 + dMonth - 1, ret = [];
    for(var i = 0; i < diff; i++){
    start.setMonth(start.getMonth() + 1);
    ret.push(start.getYear() + '-' + start.getMonth());
    }
    return ret;
    }alert(test('2008-08', '2009-05'));
      

  4.   


    var arrMonth=new Array(); 
    function GetArrMonth(month1,month2) { 
    var start=month1.split('-');
    var end=month2.split('-');
    for(var i=start[0];i<=end[0];i++){
    for(var j=(i==start[0]?start[1]:1);j<=(i==end[0]?end[1]:12);j++){
    arrMonth.push(i+"-"+j);
    }
    }
    }