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));