3Jun/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 - 19:27
How to convert seconds to YearMonthDateHourMinuteSecond?
November 4th, 2009 - 12:24
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 - 11:42
This works too:
December 18th, 2009 - 12:06
Good one! Mind if I include that in the post?