public static function getFuzzyTime($time = 0, $tz_offset = null)
{
$time = self::correctTime($time, $tz_offset);
$now = self::correctTime(0, $tz_offset);
$sodTime = mktime(0, 0, 0, date('m', $time), date('d', $time), date('Y', $time));
$sodNow = mktime(0, 0, 0, date('m', $now), date('d', $now), date('Y', $now));
if ($sodNow == $sodTime) {
return 'today at ' . date('g:ia', $time);
// check 'today'
} else {
if ($sodNow - $sodTime <= 86400) {
return 'yesterday at ' . date('g:ia', $time);
// check 'yesterday'
} else {
if ($sodNow - $sodTime <= 432000) {
return date('l \\a\\t g:ia', $time);
// give a day name if within the last 5 days
} else {
if (date('Y', $now) == date('Y', $time)) {
return date('M j \\a\\t g:ia', $time);
// miss off the year if it's this year
} else {
return date('M j, Y \\a\\t g:ia', $time);
// return the date as normal
}
}
}
}
}