我想获得一个js时间段的每一天数,
如2001-03-11 至2001-04-22
或者2001-03-31至2001-04-01
又或者2001-03-01至2001-03-23我怎么得到中间的每个日期
2001-03-11,2001-03-12,2001-03-13....2011-04-22

解决方案 »

  1.   

    楼主能再说明白点不?
    每一天数?
    date、数组??
      

  2.   

    var d1 = new Date('2001/03/11');
    var d2 = new Date('2001/04/22');function dates(d1, d2) {
        var result = [];
        while(d1 <= d2) {
            var y = d1.getFullYear();
            var m;
            (d1.getMonth()) < 9 ? m = '0' + (d1.getMonth() + 1) : m = d1.getMonth() + 1;
            var d = d1.getDate();
            result.push(y + '-' + m + '-' + d);
            d1.setDate(d1.getDate() + 1)
        }
        return result;
    }
    document.write(dates(d1, d2));
      

  3.   

    包含起止时间    <script type="text/javascript">        var ts = new Date(2001, 1, 27)
            var te = new Date(2001, 3, 3);
            var result = [];
            while(ts<=te) {
                result.push(ts);
                ts = new Date(ts.getFullYear(),ts.getMonth(),ts.getDate()+1);
            };    </script>
      

  4.   


    function DateNextDay(dt,num)
    {
        var str=dt.slice(5)+"-"+dt.slice(0,4);
        var d=new Date(str);     
        var d3=new Date(d.getFullYear(),d.getMonth(),d.getDate()+num);
        var month=returnMonth(d3.getMonth());     
        var day=d3.getDate();
        day=day<10? "0"+day:day;       
        var str2=d3.getFullYear()+"-"+month+"-"+day;
        return str2;
    }
    function dtarr(dt1,dt2)
    {
    var arr=new Array();
    arr.push(dt1);
    var tempdt=DateNextDay(dt1,1);
    while(tempdt<=dt2)
    {
    arr.push(DateNextDay(dt1,1));
    tempdt=DateNextDay(tempdt,1)
    }
    return arr;
    }
    alert(dtarr('2001-03-11','2001-04-22'));