Ask Your Question
3

How can I obtain an array of dates that falls between two given dates using Javascript?

asked 2021-10-21 11:00:00 +0000

qstack gravatar image

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2022-04-14 21:00:00 +0000

nofretete gravatar image

There are several ways to obtain an array of dates that fall between two given dates using JavaScript:

  1. Using a loop:
function getDates(startDate, endDate) {
  var dates = [];
  var currentDate = startDate;
  while (currentDate <= endDate) {
    dates.push(new Date(currentDate));
    currentDate.setDate(currentDate.getDate() + 1);
  }
  return dates;
}

// Usage example
var startDate = new Date('2021-10-01');
var endDate = new Date('2021-10-10');
var dates = getDates(startDate, endDate);
console.log(dates); // array of dates between startDate and endDate
  1. Using Array.from() method:
function getDates(startDate, endDate) {
  return Array.from(
      {length: (endDate - startDate) / (1000 * 60 * 60 * 24) + 1},
      (v, i) => new Date(startDate.getTime() + i * (1000 * 60 * 60 * 24))
    );
}

// Usage example
var startDate = new Date('2021-10-01');
var endDate = new Date('2021-10-10');
var dates = getDates(startDate, endDate);
console.log(dates); // array of dates between startDate and endDate
  1. Using moment.js library:
function getDates(startDate, endDate) {
  var dates = [];
  var currentDate = moment(startDate);
  while (currentDate <= moment(endDate)) {
    dates.push(currentDate.toDate());
    currentDate = currentDate.add(1, 'days');
  }
  return dates;
}

// Usage example
var startDate = new Date('2021-10-01');
var endDate = new Date('2021-10-10');
var dates = getDates(startDate, endDate);
console.log(dates); // array of dates between startDate and endDate
edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account. This space is reserved only for answers. If you would like to engage in a discussion, please instead post a comment under the question or an answer that you would like to discuss

Add Answer


Question Tools

Stats

Asked: 2021-10-21 11:00:00 +0000

Seen: 12 times

Last updated: Apr 14 '22