3
Jun/094
Jun/094
Snippet: Converting Seconds to Readable Time (PHP & JS)
Sometimes, you might need to convert an integer representing seconds into a format that is easier to read. These functions can be used to turn a number of seconds into a simple format of HH:MM:SS, with leading zeros (ex. 15272 = 04:14:32). This can be used for countdown scripts, which is why I also include both a PHP and a JavaScript version.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | function formatTime($secs) { $times = array(3600, 60, 1); $time = ''; $tmp = ''; for($i = 0; $i < 3; $i++) { $tmp = floor($secs / $times[$i]); if($tmp < 1) { $tmp = '00'; } elseif($tmp < 10) { $tmp = '0' . $tmp; } $time .= $tmp; if($i < 2) { $time .= ':'; } $secs = $secs % $times[$i]; } return $time; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | function formatTime(secs){ var times = new Array(3600, 60, 1); var time = ''; var tmp; for(var i = 0; i < times.length; i++){ tmp = Math.floor(secs / times[i]); if(tmp < 1){ tmp = '00'; } else if(tmp < 10){ tmp = '0' + tmp; } time += tmp; if(i < 2){ time += ':'; } secs = secs % times[i]; } return time; } |
Usage
Both functions are identical in functionality: they accept seconds as an integer and return the formatted time as a string. You can easily extend it to return days, weeks, etc. just by adding those units in seconds to the array on the first line.

October 10th, 2009
How to convert seconds to YearMonthDateHourMinuteSecond?
November 4th, 2009
WOW! I couldn’t find this anywhere, thank you… saved a large headache of figuring out the math myself…. I feel like PHP should have a built in function for this (javascript too..) like sectoamt() would be a good name for it
I’m using it to compare two times and return the difference (like a million times).
Thanks again.
December 18th, 2009
This works too:
December 18th, 2009
Good one! Mind if I include that in the post?