Converts milliseconds to human-readable duration string

Formats raw millisecond durations into concise, human-friendly strings with appropriate units based on magnitude. Automatically selects between hour+minute or minute-only format based on duration.

Examples:

  • 9,540,000 ms → "2h 39m"
  • 180,000 ms → "3m"
  • 0 ms → "0m"
export const formatTime = (ms: number) => {
if (!ms) return "0m";

const minutes = Math.floor(ms / 60000);
const hours = Math.floor(minutes / 60);

if (hours > 0) {
return `${hours}h ${minutes % 60}m`;
} else {
return `${minutes}m`;
}
};
  • Parameters

    • ms: number

      Duration in milliseconds

    Returns string

    Formatted duration string with appropriate units