note 18412 deleted from ref.datetime by victor

From: Date: Mon, 09 Dec 2002 18:52:34 +0000
Subject: note 18412 deleted from ref.datetime by victor
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-40616@lists.php.net to get a copy of this message
I probably didn't need to write this but it was fun anyway. This function will work out the difference between two timestamps and process the number of seconds into a text string broken down into years,weeks,minutes and seconds. Years aren't accurate since it doesn't take into account leap years. function get_time_diff($start,$end){ // Calculates difference in seconds and returns text string. $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; }

« previous php.notes (#40616) next »