note 109516 modified in function.time by danbrown
| From: | danbrown@php.net | Date: | Mon, 30 Jul 2012 15:54:34 +0000 |
| Subject: | note 109516 modified in function.time by danbrown | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-189500@lists.php.net to get a copy of this message | ||
elapsed time function with
precision: <?php function
elapsed_time($timestamp, $precision = 2) { $time = time() -
$timestamp; $a = array('decade' => 315576000,
'year' => 31557600, 'month' => 2629800,
'week' => 604800, 'day' => 86400,
'hour' => 3600, 'min' => 60, 'sec'
=> 1); $i = 0; foreach($a as $k => $v)
{ $$k = floor($time/$v); if ($$k)
$i++; $time = $i >= $precision ? 0 : $time - $$k *
$v; $s = $$k > 1 ? 's' :
''; $$k = $$k ? $$k.' '.$k.$s.'
' : ''; @$result .= $$k;
} return $result ? $result.'ago' : '1 sec to
go'; } echo
elapsed_time('1234567890').'<br />'; // 3 years 5
months ago echo elapsed_time('1234567890', 6); // 3 years 5 months
1 week 2 days 57 mins 4 secs ago ?>
--was--
elapsed time function with precision:
<?php
# http://anggit.com
function elapsed_time($timestamp, $precision = 2) {
$time = time() - $timestamp;
$a = array('decade' => 315576000, 'year' => 31557600, 'month'
=> 2629800, 'week' => 604800, 'day' => 86400, 'hour' =>
3600, 'min' => 60, 'sec' => 1);
$i = 0;
foreach($a as $k => $v) {
$$k = floor($time/$v);
if ($$k) $i++;
$time = $i >= $precision ? 0 : $time - $$k * $v;
$s = $$k > 1 ? 's' : '';
$$k = $$k ? $$k.' '.$k.$s.' ' : '';
@$result .= $$k;
}
return $result ? $result.'ago' : '1 sec to go';
}
echo elapsed_time('1234567890').'<br />'; // 3 years 5 months ago
echo elapsed_time('1234567890', 6); // 3 years 5 months 1 week 2 days 57 mins 4 secs ago
?>
http://php.net/manual/en/function.time.php