note 40375 deleted from function.time by nlopess
| From: | nlopess@php.net | Date: | Tue, 02 Mar 2004 15:30:43 +0000 |
| Subject: | note 40375 deleted from function.time by nlopess | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-66116@lists.php.net to get a copy of this message | ||
Note Submitter: info@fly-host.net
----
here is a nice duration function:
Example output: 3 years, 8 weeks, 6 days, 9 hours, 46 minutes and 39 seconds
function duration($duration) {
$seconds = $duration % 60;
$duration = floor($duration/60);
$minutes = $duration % 60;
$duration = floor($duration/60);
$hours = $duration % 24;
$duration = floor($duration/24);
$b = $duration % 365;
$days = $b % 7;
$weeks = floor($b/7);
$years = floor($duration/365);
$return = (($years) ? $years . " year" . (($years > 1) ? "s, " : ",
") : "") .
(($weeks) ? $weeks . " week" . (($weeks > 1) ? "s, " : ", ") :
"") .
(($days) ? $days . " day" . (($days > 1) ? "s, " : ", ") :
"") .
(($hours) ? $hours . " hour" . (($hours > 1) ? "s, " : ", ") :
"") .
(($minutes) ? $minutes . " minute" . (($minutes > 1) ? "s, " : ",
") : "") .
(($seconds) ? $seconds. " second" . (($seconds > 1) ? "s, " : ",
") : "");
$return=substr($return,0,strlen($return)-2);
if(!$return)$return = "0 seconds";
for($l=strlen($return);$l>=0;$l--){
if(substr($return,$l,1)==","){$return=substr($return,0,$l)."
and".substr($return,$l+1);break;}
}
return $return;
}