public function retrieve($unit = sfTime::DAY)
	{
		switch ($unit)
		{
			case sfTime::SECOND:
				return date('s', $this->ts);
			case sfTime::MINUTE:
				return date('i', $this->ts);
			case sfTime::HOUR:
				return date('H', $this->ts);
			case sfTime::DAY:
				return date('d', $this->ts);
			case sfTime::WEEK:
				return date('W', $this->ts);
			case sfTime::MONTH:
				return date('m', $this->ts);
			case sfTime::QUARTER:
				return ceil(date('m', $this->ts) / 3);
			case sfTime::YEAR:
				return date('Y', $this->ts);
			case sfTime::DECADE:
				return ceil((date('Y', $this->ts) % 100) / 10);
			case sfTime::CENTURY:
				return ceil(date('Y', $this->ts) / 100);
			case sfTime::MILLENIUM:
				return ceil(date('Y', $this->ts) / 1000);
			default:
				throw new sfDateTimeException(sprintf('The unit of time provided is not valid: %s', $unit));
		}
	}