How to get all dates between 2 dates in TypeScript

2 Answers

0 votes
// Returns an array of Date objects inclusive of dt1 and dt2
function getDatesInRange(dt1: Date, dt2: Date): Date[] {
    const date: Date = new Date(dt1.getTime());
    const dates: Date[] = [];

    while (date <= dt2) {
        dates.push(new Date(date));
        date.setDate(date.getDate() + 1);
    }

    return dates;
}

const d1: Date = new Date('2022-03-27');
const d2: Date = new Date('2022-04-02');

const dates: Date[] = getDatesInRange(d1, d2);

for (let i: number = 0; i < dates.length; i++) {
    console.log(dates[i].toDateString());
}


/*
run:

Sun Mar 27 2022
Mon Mar 28 2022
Tue Mar 29 2022
Wed Mar 30 2022
Thu Mar 31 2022
Fri Apr 01 2022
Sat Apr 02 2022

*/

 



answered Apr 1, 2022 by avibootz
edited 5 days ago by avibootz
0 votes
// Returns an array of Date objects strictly between dt1 and dt2 (exclusive of boundaries)
function getDatesInRange(dt1: Date, dt2: Date): Date[] {
    const date: Date = new Date(dt1.getTime());
 
    date.setDate(date.getDate() + 1);
  
    const dates: Date[] = [];
  
    while (date < dt2) {
        dates.push(new Date(date));
        date.setDate(date.getDate() + 1);
    }
  
    return dates;
}
  
const d1: Date = new Date('2022-03-26');
const d2: Date = new Date('2022-04-02');
  
const dates: Date[] = getDatesInRange(d1, d2);
  
for (let i: number = 0; i < dates.length; i++) {
    console.log(dates[i].toDateString());
}


/*
run:
  
Sun Mar 27 2022
Mon Mar 28 2022
Tue Mar 29 2022
Wed Mar 30 2022
Thu Mar 31 2022
Fri Apr 01 2022
  
*/

 



answered Apr 1, 2022 by avibootz
edited 5 days ago by avibootz
...