Interval
Try in Playground →Time interval operations
Import
import { ... } from 'ts-time-utils/interval'; Examples
Interval Operations
Work with time intervals and check overlaps
import { createInterval, intervalsOverlap, mergeIntervals, subtractInterval } from 'ts-time-utils/interval';
// Create intervals
const meeting1 = createInterval('2025-01-15T09:00', '2025-01-15T10:00');
const meeting2 = createInterval('2025-01-15T09:30', '2025-01-15T11:00');
const meeting3 = createInterval('2025-01-15T14:00', '2025-01-15T15:00');
console.log('Meeting 1:', meeting1.start, '-', meeting1.end);
// Check overlap
console.log('1 & 2 overlap?', intervalsOverlap(meeting1, meeting2));
// true
console.log('1 & 3 overlap?', intervalsOverlap(meeting1, meeting3));
// false
// Merge overlapping intervals
const allMeetings = [meeting1, meeting2, meeting3];
const merged = mergeIntervals(allMeetings);
console.log(`${allMeetings.length} meetings merged to ${merged.length}`);
// "3 meetings merged to 2"
// Subtract interval (find free time)
const workday = createInterval('2025-01-15T08:00', '2025-01-15T18:00');
const freeSlots = subtractInterval(workday, meeting1);
console.log('Free slots after removing meeting 1:', freeSlots.length);
// Get interval duration
console.log('Meeting 1 duration:', meeting1.duration, 'ms');