Javascript - get array of dates between 2 dates

后端 未结 25 1633
傲寒
傲寒 2020-11-22 15:16
var range = getDates(new Date(), new Date().addDays(7));

I\'d like \"range\" to be an array of date objects, one for each day between the two dates

25条回答
  •  北恋
    北恋 (楼主)
    2020-11-22 15:39

    I was recently working with moment.js, following did the trick..

    function getDateRange(startDate, endDate, dateFormat) {
            var dates = [],
                end = moment(endDate),
                diff = endDate.diff(startDate, 'days');
    
            if(!startDate.isValid() || !endDate.isValid() || diff <= 0) {
                return;
            }
    
            for(var i = 0; i < diff; i++) {
                dates.push(end.subtract(1,'d').format(dateFormat));
            }
    
            return dates;
        };
        console.log(getDateRange(startDate, endDate, dateFormat));
    

    Result would be:

    ["09/03/2015", "10/03/2015", "11/03/2015", "12/03/2015", "13/03/2015", "14/03/2015", "15/03/2015", "16/03/2015", "17/03/2015", "18/03/2015"]
    

提交回复
热议问题