Displays date in “ago” format with PHP

// Displays the date with ago like facebook
function getHowLongAgo($date, $display = array('year', 'month', 'day', 'hour', 'minute', 'second'), $ago = 'ago'){
    $date = getdate(strtotime($date));
    $current = getdate();
    $p = array('year', 'mon', 'mday', 'hours', 'minutes', 'seconds');
    $factor = array(0, 12, 30, 24, 60, 60);

    for ($i = 0; $i < 6; $i++) {
        if ($i > 0) {
            $current[$p[$i]] += $current[$p[$i - 1]] * $factor[$i];
            $date[$p[$i]] += $date[$p[$i - 1]] * $factor[$i];
        }
        if ($current[$p[$i]] - $date[$p[$i]] > 1) {
            $value = $current[$p[$i]] - $date[$p[$i]];
            return $value . ' ' . $display[$i] . (($value != 1) ? 's' : '') . ' ' . $ago;
        }
    }
    return '';
}

// Usage
// Output 2 days ago
getHowLongAgo(get_the_date());

Source