Uh, why so random?
My suggestion:
Allow a format parameter
$duration(seconds,format)
that works just like the one of $asctime
example:
$duration(9999999,dd:hh:nn:ss) = 115:17:46:39
imho this would be a lot better way than providing a bunch of random presets