public function TimezoneToInterval()
	{
		// Get the timezone
		$timezone = $this->Value->getTimezone()->getName();

		// No deviation returns an empty sequence
		if ( $timezone == "Z" || $timezone == "+00:00" || $timezone == date_default_timezone_get() )
		{
			return DayTimeDurationValue::Parse( "PT0S" );
			// /MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT
			// K-TimezoneFromDateFunc-7
			// return Undefined::getValue();
		}

		// Create an interval string
		if ( ! preg_match( "/(?<sign>[+-])(?<hours>\d{2,2}):(?<minutes>\d{2,2})/", $timezone, $matches ) )
		{
			return Undefined::getValue();
		}

		$invert = $matches['sign'] == '-' ? '-' : '';

		return DayTimeDurationValue::Parse( "{$invert}PT{$matches['hours']}H{$matches['minutes']}M" );

	}