duration()
Platform: PHP
Published Sep 14, 2006
Updated Jul 20, 2012
output:
36 years 8 months 3 weeks 2 days 24 minutes 32 seconds<br>
36 years 8 months 3 weeks 2 days<br>
36 years 8 months
<?php
function duration($seconds, $max_periods) {
$periods = array('year' => 31536000, 'month' => 2419200, 'week' => 604800, 'day' => 86400, 'hour' => 3600, 'minute' => 60, 'second' => 1);
$i = 1;
foreach ( $periods as $period => $period_seconds ) {
$period_duration = floor($seconds / $period_seconds);
$seconds = $seconds % $period_seconds;
if ( $period_duration == 0 ) continue;
$duration[] = $period_duration .' '. $period . ($period_duration > 1 ? 's' : '');
$i++;
if ( $i > $max_periods ) break;
}
if (is_null($duration)) return 'just now';
return implode(' ', $duration);
}
?>