0 ? 'ago' : 'in the future'); if ($abs_relative_time < 60) // Less than a minute return $abs_relative_time.' '.($abs_relative_time > 1 ? 'seconds' : 'second').' '.$when; elseif ($abs_relative_time < 3600) // Less than an hour return ($minutes = floor($abs_relative_time / 60)).' '.($minutes > 1 ? 'minutes' : 'minute').' '.$when; elseif ($post_time > $yesterday_time && $post_time < $yesterday_time + 86400) // Was it yesterday ? return 'yesterday'; elseif ($abs_relative_time < 86400) // Less than a day ago return ($hours = floor($abs_relative_time / 3600)).' '.($hours > 1 ? 'hours' : 'hour').' '.$when; /* Since we have ruled out hours / mins / secs, now forget about the times etc. */ $post_time = strtotime(substr($datetime, 0, 10).' 00:00:00'); $relative_time = $current_time - $post_time; $abs_relative_time = abs($relative_time); if ($abs_relative_time < 604800) // Less than a week return ($days = floor($abs_relative_time / 86400)).' '.($days > 1 ? 'days' : 'day').' '.$when; elseif ($abs_relative_time < 2629743) // Less than an month return ($weeks = floor($abs_relative_time / 604800)).' '.($weeks > 1 ? 'weeks' : 'week').' '.$when; elseif ($abs_relative_time < 31556926) // Less than an year return ($months = floor($abs_relative_time / 2629743)).' '.($months > 1 ? 'months' : 'month').' '.$when; else return ($years = floor($abs_relative_time / 31556926)).' '.($years > 1 ? 'years' : 'year').' '.$when; } ?>