Microweber\Utils\Format::ago PHP Method

ago() public method

public ago ( $time, $granularity = 2 )
    public function ago($time, $granularity = 2)
    {
        if (is_int($time)) {
            $date = $time;
        } else {
            $date = strtotime($time);
        }
        $difference = time() - $date;
        $retval = '';
        $periods = array('decade' => 315360000, 'year' => 31536000, 'month' => 2628000, 'week' => 604800, 'day' => 86400, 'hour' => 3600, 'minute' => 60, 'second' => 1);
        foreach ($periods as $key => $value) {
            if ($difference >= $value) {
                $time = floor($difference / $value);
                $difference %= $value;
                $retval .= ($retval ? ' ' : '') . $time . ' ';
                $retval .= $time > 1 ? $key . 's' : $key;
                --$granularity;
            }
            if ($granularity == '0') {
                break;
            }
        }
        if ($retval == '') {
            return '1 second ago';
        }
        return '' . $retval . ' ago';
    }