Iterate
Try in Playground →Iterate through date sequences and count dates
Import
import { ... } from 'ts-time-utils/iterate'; Examples
Generate Date Arrays
Create arrays of dates in ranges
import { eachDay, eachWeekday, eachWeek, eachMonth } from 'ts-time-utils/iterate';
const start = new Date('2025-01-01');
const end = new Date('2025-01-15');
// Each day
const days = eachDay(start, end);
console.log(`${days.length} days`); // 15
// Weekdays only
const weekdays = eachWeekday(start, end);
console.log(`${weekdays.length} weekdays`); // 11
// Each week
const weeks = eachWeek(start, new Date('2025-01-31'));
console.log(`${weeks.length} weeks`);
// Each month in a year
const months = eachMonth(
new Date('2025-01-01'),
new Date('2025-12-31')
);
console.log(`${months.length} months`); // 12 Count Dates
Count days, weekdays, and weekends in ranges
import { countDays, countWeekdays, countWeekendDays, filterDays } from 'ts-time-utils/iterate';
const start = new Date('2025-01-01');
const end = new Date('2025-01-31');
console.log(`Total days: ${countDays(start, end)}`);
console.log(`Weekdays: ${countWeekdays(start, end)}`);
console.log(`Weekend days: ${countWeekendDays(start, end)}`);
// Filter with custom condition
const fridays = filterDays(start, end, date => date.getDay() === 5);
console.log(`Fridays in January: ${fridays.length}`);