Calcula a diferença de tempo em segundos entre duas datas: $start (começo da contagem) e $end (fim da contagem).
function get_time_diff($start,$end){ $diff = ($end-$start); if($diff<60){ $sec = $diff; } else{ if($diff<3600){ $min = floor($diff/60); $sec = $diff-(60*$min); } else{ if($diff<86400){ $hour = floor($diff/3600); $min = floor(($diff-($hour*3600))/60); $sec = (($diff-($hour*3600)-(60*$min))); } else{ if($diff<604800){ $day = floor($diff/86400); $hour = floor(($diff-($day*86400))/3600); $min = floor(($diff-($day*86400)-($hour*3600))/60); $sec = (($diff-($day*86400)-($hour*3600)-(60*$min))); } else{ if($diff<31536000){ $week = floor($diff/604800); $day = floor(($diff-($week*604800))/86400); $hour = floor(($diff-($week*604800)-($day*86400))/3600); $min = floor(($diff-($week*604800)-($day*86400)-($hour*3600))/60); $sec = (($diff-($week*604800)-($day*86400)-($hour*3600)-(60*$min))); } else{ $year = floor($diff/31536000); $week = floor(($diff-($year*31536000))/604800); $day = floor(($diff-($year*31536000)-($week*604800))/86400); $hour = floor(($diff-($year*31536000)-($week*604800)-($day*86400))/3600); $min = floor(($diff-($year*31536000)- ($week*604800)-($day*86400)-($hour*3600))/60); $sec = (($diff-($year*31536000)-($week*604800)-($day*86400)-($hour*3600)-(60*$min))); } } } } } if($sec != ''){ if($sec == 1){ $final = $sec . ' second'; } else{ $final = $sec . ' seconds'; } } if($min != ''){ if($min == 1){ $final = $min . ' minute ' . $final; } else{ $final = $min . ' minutes ' . $final; } } if($hour != ''){ if($hour == 1){ $final = $hour . ' hour ' . $final; } else{ $final = $hour . ' hours ' . $final; } } if($day != ''){ if($day == 1){ $final = $day . ' day ' . $final; } else{ $final = $day . ' days ' . $final; } } if($week != ''){ if($week == 1){ $final = $week . ' week ' . $final; } else{ $final = $week . ' weeks ' . $final; } } if($year != ''){ if($year == 1){ $final = $year . ' year ' . $final; } else{ $final = $year . ' years ' . $final; } } return $final; }