Interval
Try in Playground →Time interval operations
Examples on this page are verified against the `ts-time-utils` v4.4.1 public exports.
Import
import { ... } from 'ts-time-utils/interval'; Examples
Interval Operations
Work with time intervals and check overlaps
import {
createInterval, intervalsOverlap, mergeIntervals,
subtractInterval, intervalDuration
} 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');
if (meeting1 && meeting2 && meeting3) {
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');
if (workday) {
const freeSlots = subtractInterval(workday, meeting1);
console.log('Free slots after removing meeting 1:', freeSlots.length);
}
// Get interval duration
console.log('Meeting 1 duration:', intervalDuration(meeting1), 'ms');
}