The duration to format, given in seconds. Returns undefined for values < 30 seconds.
Optionaloptions: TimeDisplayUnitsOptional custom display units for hours and minutes text.
Formatted time string (e.g., "1 hr 30 min", "45 min"), or undefined if duration is too short.
Rounding Behavior:
undefinedFormat Patterns:
Customization:
Override default units via options or global TomTomConfig
// Basic usage
formatDuration(0); // undefined (too short)
formatDuration(20); // undefined (too short)
formatDuration(30); // "1 min"
formatDuration(60); // "1 min"
formatDuration(100); // "2 min"
formatDuration(1800); // "30 min"
formatDuration(3599); // "1 hr 00 min"
formatDuration(3660); // "1 hr 01 min"
formatDuration(7200); // "2 hr 00 min"
formatDuration(36120); // "10 hr 02 min"
// Custom units
formatDuration(3660, { hours: 'h', minutes: 'm' });
// Returns: "1 h 01 m"
// Route travel time
const route = await calculateRoute({ ... });
const travelTime = formatDuration(route.routes[0].summary.travelTimeInSeconds);
console.log(`Estimated time: ${travelTime}`);
// Output: "Estimated time: 2 hr 15 min"
Formats a duration in seconds into a human-readable time string.
Converts raw seconds into a display-friendly format using hours and minutes, with intelligent rounding and formatting based on the duration length.