curriculum/challenges/english/blocks/daily-coding-challenges-javascript/68d30845cc08266018fc46bd.md
Given an integer number of seconds, return a string representing the same duration in the format "H:MM:SS", where "H" is the number of hours, "MM" is the number of minutes, and "SS" is the number of seconds. Return the time using the following rules:
"0" if the duration is less than one minute.format(500) should return "8:20".
assert.equal(format(500), "8:20");
format(4000) should return "1:06:40".
assert.equal(format(4000), "1:06:40");
format(1) should return "0:01".
assert.equal(format(1), "0:01");
format(5555) should return "1:32:35".
assert.equal(format(5555), "1:32:35");
format(99999) should return "27:46:39".
assert.equal(format(99999), "27:46:39");
function format(seconds) {
return seconds;
}
function format(seconds) {
const h = Math.floor(seconds / 3600);
const m = Math.floor((seconds % 3600) / 60);
const s = seconds % 60;
const secondsStr = s.toString().padStart(2, "0");
const minutesStr = m.toString();
if (h > 0) {
const hoursStr = h.toString();
return `${hoursStr}:${minutesStr.padStart(2, "0")}:${secondsStr}`;
} else {
return `${minutesStr}:${secondsStr}`;
}
}