How to create an array of dates between a start and end date in Node.js

2 Answers

0 votes
let start = new Date("2025-04-01");
let end   = new Date("2025-04-16");
let arr   = [];
  
for (let d = start; d <= end; d.setDate(d.getDate() + 1)) {
    arr.push(d.toString());
}
 
console.log(arr);



/*
run:

[
  'Tue Apr 01 2025 00:00:00 GMT+0000 (Coordinated Universal Time)',
  'Wed Apr 02 2025 00:00:00 GMT+0000 (Coordinated Universal Time)',
  'Thu Apr 03 2025 00:00:00 GMT+0000 (Coordinated Universal Time)',
  'Fri Apr 04 2025 00:00:00 GMT+0000 (Coordinated Universal Time)',
  'Sat Apr 05 2025 00:00:00 GMT+0000 (Coordinated Universal Time)',
  'Sun Apr 06 2025 00:00:00 GMT+0000 (Coordinated Universal Time)',
  'Mon Apr 07 2025 00:00:00 GMT+0000 (Coordinated Universal Time)',
  'Tue Apr 08 2025 00:00:00 GMT+0000 (Coordinated Universal Time)',
  'Wed Apr 09 2025 00:00:00 GMT+0000 (Coordinated Universal Time)',
  'Thu Apr 10 2025 00:00:00 GMT+0000 (Coordinated Universal Time)',
  'Fri Apr 11 2025 00:00:00 GMT+0000 (Coordinated Universal Time)',
  'Sat Apr 12 2025 00:00:00 GMT+0000 (Coordinated Universal Time)',
  'Sun Apr 13 2025 00:00:00 GMT+0000 (Coordinated Universal Time)',
  'Mon Apr 14 2025 00:00:00 GMT+0000 (Coordinated Universal Time)',
  'Tue Apr 15 2025 00:00:00 GMT+0000 (Coordinated Universal Time)',
  'Wed Apr 16 2025 00:00:00 GMT+0000 (Coordinated Universal Time)'
]

*/

 



answered Apr 16 by avibootz
0 votes
let start = new Date("2025-04-01");
let end   = new Date("2025-04-16");
let arr   = [];
  
do {
   arr.push(new Date(start));
   start.setDate(start.getDate() + 1);
} while(start <= end)
 
console.log(arr);



/*
run:

[
  2025-04-01T00:00:00.000Z,
  2025-04-02T00:00:00.000Z,
  2025-04-03T00:00:00.000Z,
  2025-04-04T00:00:00.000Z,
  2025-04-05T00:00:00.000Z,
  2025-04-06T00:00:00.000Z,
  2025-04-07T00:00:00.000Z,
  2025-04-08T00:00:00.000Z,
  2025-04-09T00:00:00.000Z,
  2025-04-10T00:00:00.000Z,
  2025-04-11T00:00:00.000Z,
  2025-04-12T00:00:00.000Z,
  2025-04-13T00:00:00.000Z,
  2025-04-14T00:00:00.000Z,
  2025-04-15T00:00:00.000Z,
  2025-04-16T00:00:00.000Z
]

*/

 



answered Apr 16 by avibootz
...