Convert milliseconds to readable format
JavaScript code snippet that returns a human-readable format of the given number of milliseconds.
const formatDuration = ms => {if (ms < 0) ms = -ms;const time = {day: Math.floor(ms / 86400000),hour: Math.floor(ms / 3600000) % 24,minute: Math.floor(ms / 60000) % 60,second: Math.floor(ms / 1000) % 60,millisecond: Math.floor(ms) % 1000};return Object.entries(time).filter(val => val[1] !== 0).map(([key, val]) => `${val} ${key}${val !== 1 ? 's' : ''}`).join(', ');};
How it works
This function takes an argument of milliseconds and returns a readable format using days, hours, minutes, seconds, and milliseconds. For example, passing in 34325055574
would return '397 days, 6 hours, 44 minutes, 15 seconds, 574 milliseconds'
.
This function pairs well with the JavaScript code snippet for calculating the difference between two dates.
Source: Format duration and licensed under CC BY 4.0