elapsed time formatter
A neat way to format time easily
by mich
JavaScript
function styleTime (rawTime) {
var divisions = [
{"name": "days", "seconds": 86400, "denoter": "d"},
{"name": "hours", "seconds": 3600, "denoter": "h"},
{"name": "minutes", "seconds": 60, "denoter": "m"},
{"name": "seconds", "seconds": 1, "denoter": "s"}
];
var styledTime = [];
var i;
var curDiv = 0;
for (i = 0; i < divisions.length; i += 1) {
curDiv = Math.floor(rawTime / divisions[i].seconds);
if (curDiv > 0) {
styledTime.push(curDiv.toString() + divisions[i].denoter);
}
rawTime %= divisions[i].seconds;
}
if (styledTime.length === 0) {
styledTime.push("0" + divisions[i-1].denoter);
}
return styledTime.join(' ');
}
console.log(styleTime(542));
console.log(styleTime(465782));