Format
Try in Playground →Format durations, time ago strings, and custom date formats
Import
import { ... } from 'ts-time-utils/format'; Examples
Format Duration
Convert milliseconds to human-readable duration strings
import { formatDuration, timeAgo, parseDuration } from 'ts-time-utils/format';
// Format milliseconds to readable duration
console.log(formatDuration(65000));
// "1 minute, 5 seconds"
console.log(formatDuration(65000, { short: true }));
// "1m 5s"
console.log(formatDuration(90061000, { maxUnits: 2 }));
// "1 day, 1 hour"
// Time ago strings
console.log(timeAgo(new Date(Date.now() - 60000)));
// "1 minute ago"
console.log(timeAgo(new Date(Date.now() + 3600000)));
// "in 1 hour"
// Parse duration strings back to ms
console.log(parseDuration('1h 30m'));
// 5400000 Format Date
Format dates using custom patterns
import { formatDate, formatTime } from 'ts-time-utils/format';
const date = new Date('2025-09-14T14:30:45');
// Custom date formatting
console.log(formatDate(date, 'YYYY-MM-DD'));
// "2025-09-14"
console.log(formatDate(date, 'MMMM Do, YYYY'));
// "September 14th, 2025"
console.log(formatDate(date, 'ddd, MMM D'));
// "Sun, Sep 14"
// Format time
console.log(formatTime(date, '12h'));
// "2:30 PM"
console.log(formatTime(date, '24h'));
// "14:30"