我现在想写一个js获得一个时间段内的日期集合,也就是2013-07-19至2013-07-31,获得集合是2013-07-19;2013-07-20;2013-07-21;.....;2013-07-31这样的一组数用";"隔开就可以。我输入日期的格式2013-07-19就是这个样子的,请高手解答。

解决方案 »

  1.   


    var format = function(D){
        var m = D.getMonth() + 1, d = D.getDate();
        return [D.getFullYear(), (m < 10 ? '0' : '') + m, (d < 10 ? '0' : '') + d].join('-')
    };
    var sdate = '2013-07-19', edate = '2013-07-31', r = [];
    sdate = sdate.split(/-/);
    sdate = new Date(sdate[0], sdate[1] - 1, sdate[2]).getTime();
    edate = edate.split(/-/);
    edate = new Date(edate[0], edate[1] - 1, edate[2]).getTime();for(; sdate <= edate; sdate = sdate + 24 * 3600 * 1000){
        r.push(format(new Date(sdate)))
    }
    r = r.join(';');
    alert(r)