Skip to content

Instantly share code, notes, and snippets.

@blaskovicz
Last active July 31, 2018 04:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save blaskovicz/16ee1e2cc0c1aa63f3e3a781f2b22da8 to your computer and use it in GitHub Desktop.
Save blaskovicz/16ee1e2cc0c1aa63f3e3a781f2b22da8 to your computer and use it in GitHub Desktop.
humanDuration.js
function humanDuration(number, unit = "s") {
let result;
switch (unit) {
case "ns":
result = number / 1000000;
if (result < 1) break;
number = result;
unit = "ms";
case "ms":
result = number / 1000;
if (result < 1) break;
number = result;
unit = "s";
case "s":
result = number / 60;
if (result < 1) break;
number = result;
unit = "m";
case "m":
result = number / 60;
if (result < 1) break;
number = result;
unit = "h";
case "h":
result = number / 24;
if (result < 1) break;
number = result;
unit = "d";
case "d":
// no larger
default:
break;
}
return `${number.toFixed(3)}${unit}`;
}
console.log(humanDuration(600000, "s")); // -> "6.994d"
console.log(humanDuration(4, "m")); // -> "4.000m"
@blaskovicz
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment