This is my time_elapsed function to show user friendly elapsed time for things instead of ugly date.
PHP Code:
function time_elapsed($timestamp, $parse = 0) { if($parse == 1) { $timestamp = strtotime($timestamp); } $curTimestamp = time(); $difference = $curTimestamp - $timestamp; switch($difference) { case ($difference == 0): return "A second ago!"; break; case ($difference <= 600): $minutes = round($difference / 60, -0.5); return "$minutes minute".(($minutes > 1)?"s":"")." ago"; break; case ($difference <= 900): return "A quarter ago"; break; case ($difference <= 1800): return round($difference / 60, -0.5)." minutes ago"; break; case ($difference <= 2700): return "Half an hour ago"; break; case ($difference <= 3600): return "Three quarters ago"; break; case ($difference <= 86400): $minutes = floor(($difference % 3600) / 60); $hours = floor(($difference % 86400) / 3600); return floor($difference / 3600)." hour" . (($hours > 1)?"s":"").(($minutes > 0)?" and $minutes minute".(($minutes > 1)?"s":""):"") . " ago"; break; case ($difference > 86400): $hours = floor(($difference % 86400) / 3600); $days = floor($difference / 86400); return "$days day" . (($days > 1)?"s":"").(($hours > 0)?" and $hours hour".(($hours > 1)?"s":""):"") . " ago"; break; default: return date("\A\\t H:i \o\\n d-m-Y",$timestamp); } }
To use (example):
PHP Code:
// Date/time from SQL
print time_elapsed($sqlrow['date_posted'], 1); // This will parse the sql date/time so it works correctly with the function
print time_elapsed($time_posted, 0); // This is if its already a timestamp
|