public function relative($unit = null, $time = null)
	{
		if (is_null($time))
		{
			// Get now
			$time = new self('now');
		}

		// Get the difference in seconds between now and the time
		$diff = strtotime($time) - strtotime($this);

		// Less than a minute
		if ($diff < 60)
		{
			return \Lang::txt('JLIB_HTML_DATE_RELATIVE_LESSTHANAMINUTE');
		}

		// Round to minutes
		$diff = round($diff / 60);

		// 1 to 59 minutes
		if ($diff < 60 || $unit == 'minute')
		{
			return \Lang::txts('JLIB_HTML_DATE_RELATIVE_MINUTES', $diff);
		}

		// Round to hours
		$diff = round($diff / 60);

		// 1 to 23 hours
		if ($diff < 24 || $unit == 'hour')
		{
			return \Lang::txts('JLIB_HTML_DATE_RELATIVE_HOURS', $diff);
		}

		// Round to days
		$diff = round($diff / 24);

		// 1 to 6 days
		if ($diff < 7 || $unit == 'day')
		{
			return \Lang::txts('JLIB_HTML_DATE_RELATIVE_DAYS', $diff);
		}

		// Round to weeks
		$diff = round($diff / 7);

		// 1 to 4 weeks
		if ($diff <= 4 || $unit == 'week')
		{
			return \Lang::txts('JLIB_HTML_DATE_RELATIVE_WEEKS', $diff);
		}

		// [!] HUBZERO - Added months
		// Round to months
		/*$diff = round($diff / 4);

		// 1 to 12 months
		if ($diff <= 12 || $unit == 'month')
		{
			return \Lang::txt('%s months ago', $diff);
		}*/

		// [!] HUBZERO - Changed default to format "% days ago"
		// Over a month, return the absolute time
		$text = $this->_ago(strtotime($this), strtotime($time));

		$parts = explode(' ', $text);

		$text  = $parts[0] . ' ' . $parts[1];
		$text .= ($parts[2]) ? ' ' . $parts[2] . ' ' . $parts[3] : '';

		return sprintf('%s ago', $text);
	}
public function relative($unit = null, $time = null)
	{
		if (is_null($time))
		{
			// Get now
			$time = new self('now');
		}

		// Get the difference in seconds between now and the time
		$diff = strtotime($time) - strtotime($this);

		// Less than a minute
		if ($diff < 60)
		{
			return \Lang::txt('JLIB_HTML_DATE_RELATIVE_LESSTHANAMINUTE');
		}

		// Round to minutes
		$diff = round($diff / 60);

		// 1 to 59 minutes
		if ($diff < 60 || $unit == 'minute')
		{
			return \Lang::txts('JLIB_HTML_DATE_RELATIVE_MINUTES', $diff);
		}

		// Round to hours
		$diff = round($diff / 60);

		// 1 to 23 hours
		if ($diff < 24 || $unit == 'hour')
		{
			return \Lang::txts('JLIB_HTML_DATE_RELATIVE_HOURS', $diff);
		}

		// Round to days
		$diff = round($diff / 24);

		// 1 to 6 days
		if ($diff < 7 || $unit == 'day')
		{
			return \Lang::txts('JLIB_HTML_DATE_RELATIVE_DAYS', $diff);
		}

		// Round to weeks
		$diff = round($diff / 7);

		// 1 to 4 weeks
		if ($diff <= 4 || $unit == 'week')
		{
			return \Lang::txts('JLIB_HTML_DATE_RELATIVE_WEEKS', $diff);
		}

		// [!] HUBZERO - Added months
		// Round to months
		/*$diff = round($diff / 4);

		// 1 to 12 months
		if ($diff <= 12 || $unit == 'month')
		{
			return \Lang::txt('%s months ago', $diff);
		}*/

		// [!] HUBZERO - Changed default to format "% days ago"
		// Over a month, return the absolute time
		$text = $this->_ago(strtotime($this), strtotime($time));

		$parts = explode(' ', $text);

		$text  = $parts[0] . ' ' . $parts[1];
		$text .= ($parts[2]) ? ' ' . $parts[2] . ' ' . $parts[3] : '';

		return sprintf('%s ago', $text);
	}
public function relative ( $ unit = null , $ time = null ) { if ( is_null ( $ time ) ) { // Get now $ time = new self ( 'now' ) ; } // Get the difference in seconds between now and the time $ diff = strtotime ( $ time ) - strtotime ( $ this ) ; // Less than a minute if ( $ diff < 60 ) { return \ Lang :: txt ( 'JLIB_HTML_DATE_RELATIVE_LESSTHANAMINUTE' ) ; } // Round to minutes $ diff = round ( $ diff / 60 ) ; // 1 to 59 minutes if ( $ diff < 60 || $ unit == 'minute' ) { return \ Lang :: txts ( 'JLIB_HTML_DATE_RELATIVE_MINUTES' , $ diff ) ; } // Round to hours $ diff = round ( $ diff / 60 ) ; // 1 to 23 hours if ( $ diff < 24 || $ unit == 'hour' ) { return \ Lang :: txts ( 'JLIB_HTML_DATE_RELATIVE_HOURS' , $ diff ) ; } // Round to days $ diff = round ( $ diff / 24 ) ; // 1 to 6 days if ( $ diff < 7 || $ unit == 'day' ) { return \ Lang :: txts ( 'JLIB_HTML_DATE_RELATIVE_DAYS' , $ diff ) ; } // Round to weeks $ diff = round ( $ diff / 7 ) ; // 1 to 4 weeks if ( $ diff <= 4 || $ unit == 'week' ) { return \ Lang :: txts ( 'JLIB_HTML_DATE_RELATIVE_WEEKS' , $ diff ) ; } // [!] HUBZERO - Added months // Round to months /*$diff = round($diff / 4);

		// 1 to 12 months
		if ($diff <= 12 || $unit == 'month')
		{
			return \Lang::txt('%s months ago', $diff);
		}*/ // [!] HUBZERO - Changed default to format "% days ago" // Over a month, return the absolute time $ text = $ this -> _ago ( strtotime ( $ this ) , strtotime ( $ time ) ) ; $ parts = explode ( ' ' , $ text ) ; $ text = $ parts [ 0 ] . ' ' . $ parts [ 1 ] ; $ text .= ( $ parts [ 2 ] ) ? ' ' . $ parts [ 2 ] . ' ' . $ parts [ 3 ] : '' ; return sprintf ( '%s ago' , $ text ) ; }
Function to convert a static time into a relative measurement

@param   string  $date  The date to convert
@param   string  $unit  The optional unit of measurement to return
if the value of the diff is greater than one
@param   string  $time  An optional time to compare to, defaults to now
@return  string  The converted time string
Function to convert a static time into a relative measurement