3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php $diff = strtotime('2015-04-14T10:55:28+01:00') - strtotime('2015-04-10T13:19:03+01:00'); function secs_to_h($secs) { $units = array( "week" => 7*24*3600, "day" => 24*3600, "hour" => 3600, "minute" => 60, "second" => 1, ); // specifically handle zero if ( $secs == 0 ) return "0 seconds"; $s = ""; foreach ( $units as $name => $divisor ) { if ( $quot = intval($secs / $divisor) ) { $s .= "$quot $name"; $s .= (abs($quot) > 1 ? "s" : "") . ", "; $secs -= $quot * $divisor; } } return substr($s, 0, -2); } var_dump($diff, gmdate("H",$diff), secs_to_h(6811.5));
based on 3dk9P
Output for 5.0.0 - 7.2.0
int(336985) string(2) "21" string(30) "1 hour, 53 minutes, 31 seconds"
Output for 4.3.0 - 4.4.9
int(0) string(2) "00" string(30) "1 hour, 53 minutes, 31 seconds"