PHP Function: Posted Time Ago – Facebook Style
So I won’t claim credit to this but I was browsing DevNetwork and I found a function that is both useful, succinct and awesome all rolled up into one. Using a php lookup table you can calculate the time since something was posted in PHP ie “so and so posted x time ago” facebook style.
function time_passed($timestamp)
{
$diff = time() - (int)$timestamp;
if ($diff == 0)
return 'just now';
$intervals = array
(
1 => array('year', 31556926),
$diff < 31556926 => array('month', 2628000),
$diff < 2629744 => array('week', 604800),
$diff < 604800 => array('day', 86400),
$diff < 86400 => array('hour', 3600),
$diff < 3600 => array('minute', 60),
$diff < 60 => array('second', 1)
);
$value = floor($diff/$intervals[1][1]);
return $value.' '.$intervals[1][0].($value > 1 ? 's' : '').' ago';
}
