How to create a list of random dates in TypeScript

1 Answer

0 votes
// Generate a random date between two years using Date
function randomDate(startYear: number, endYear: number): Date {

    // Convert start and end years to timestamps
    const start: Date = new Date(startYear, 0, 1);   // January = 0
    const end: Date = new Date(endYear, 11, 31);   // December = 11

    const startTs: number = start.getTime();
    const endTs: number = end.getTime();

    // Uniform distribution over the timestamp range
    const randomTs: number = Math.floor(Math.random() * (endTs - startTs + 1)) + startTs;

    // Convert back to Date
    return new Date(randomTs);
}

const dates: Date[] = [];

for (let i: number = 0; i < 10; i++) {
    dates.push(randomDate(1990, 2030));
}

for (const d of dates) {
    console.log(`${d.getFullYear()}-${d.getMonth() + 1}-${d.getDate()}`);
}



/*
run:

2024-12-17
2026-4-19
1995-8-25
2015-4-13
1995-9-8
2021-11-30
2029-3-29
1990-5-8
2019-10-2
2023-5-15

*/

 



answered 3 hours ago by avibootz
...