<?
function RelativeTime($time,$format='n/d/y',$onhover=true)
{
global $localtime, $tz_from_gmt;
if (!is_numeric($time)) $time = strtotime($time);
$minute = 60;
$hour = 60 * $minute;
$day = 24 * $hour;
$week = 7 * $day;
$month = 4.35 * $week;
$diff = $localtime - $time;
$mins = round($diff / $minute);
$hours = round($diff / $hour);
$days = round($diff / $day);
$weeks = round($diff / $week);
$months = round($diff / $month);
$timestamp = date('g:i A',$time);
$monthstamp = date('M j',$time);
$yearstamp = date($format,$time);
$longstamp = date('l, F j, Y g:iA',$time) . ' ' . $tz_from_gmt;
$endstamp = '';
if ($diff <= $minute) {
if ($diff < 0) $endstamp = "sometime in the future";
$endstamp = $timestamp . " (" . $diff . " second" . ($diff!=1?"s":"") . " ago)";
} elseif ($diff <= $hour) {
$endstamp = $timestamp . " (" . $mins . " minute" . ($mins!=1?"s":"") . " ago)";
} elseif ($diff <= $day) {
$endstamp = $timestamp . " (" . $hours . " hour" . ($hours!=1?"s":"") . " ago)";
} elseif ($diff < 2*$week) {
$endstamp = $monthstamp . " (" . $days . " day" . ($days!=1?"s":"") . " ago)";
} elseif ($diff < $month) {
$endstamp = $monthstamp;
} else {
$endstamp = $yearstamp;
}
if ($onhover)
return '<span title="' . $longstamp . '">' . $endstamp . '</span>';
else
return $endstamp;
}
?>