Javascript - get array of dates between 2 dates

后端 未结 25 1476
傲寒
傲寒 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:33

    This is how i like to do it

    // hours * minutes * seconds * milliseconds
    const DAY_IN_MS = 24 * 60 * 60 * 1000
    
    /**
     * Get range of dates 
     * @param {Date} startDate 
     * @param {Number} numOfDays 
     * @returns {array}
     */
    const dateRange = (startDate, numOfDays) => {
        const startDateMs = startDate.getTime()
    
        // get array of days and map it to Date object
        return [...Array(numOfDays).keys()].map(i => new Date(startDateMs + i * DAY_IN_MS))
    }
    

提交回复
热议问题