<?php
/**
* Given a time, it gives you the time since then in a friendly format.
*
* @package
* @category
* @author Dave Marshall
* @author $Author: $
* @version $Rev: $
* @since $Date: $
* @link $URL: $
*
*============================================
* modified code by
* extracting method from Zend_View_Helper_TimeSince class
*/
function timeSince($time, $from = null)
{
if ($from == null) {
$from = time();
}
$time = $from - $time;
$chunks = array(
array(60 * 60 * 24 * 365 , 'year'),
array(60 * 60 * 24 * 30 , 'month'),
array(60 * 60 * 24 , 'day'),
array(60 * 60 , 'hour'),
array(60 , 'minute'),
array(1 , 'second')
);
for ($i = 0, $j = count($chunks); $i < $j; $i++) {
$seconds = $chunks[$i][0];
$name = $chunks[$i][1];
if (($count = floor($time / $seconds)) != 0) {
break;
}
}
$print = ($count == 1) ? '1 '.$name : "$count {$name}s";
return $print;
}
$dt = strtotime('2012-1-11');
echo "since ",timeSince($dt);
- Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.37, 5.6.0 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.25, 7.2.0 - 7.2.13, 7.3.0 - 7.3.1
- since 2 years
preferences:
160.9 ms | 404 KiB | 228 Q