Neos\Flow\Validation\Validator\DateTimeRangeValidator::parseReferenceDate PHP Method

parseReferenceDate() protected method

Calculates a DateTime object from a given Time interval
See also: isValid()
protected parseReferenceDate ( string $referenceDateString ) : DateTime
$referenceDateString string being one of
return DateTime
    protected function parseReferenceDate($referenceDateString)
    {
        $referenceDateParts = explode('/', $referenceDateString, 2);
        if (count($referenceDateParts) === 1) {
            // assume a valid Date/Time string
            return new \DateTime($referenceDateParts[0]);
        }
        // check if the period (the interval) is the first or second item:
        if (strpos($referenceDateParts[0], 'P') === 0) {
            $interval = new \DateInterval($referenceDateParts[0]);
            $date = new \DateTime($referenceDateParts[1]);
            return $date->sub($interval);
        } elseif (strpos($referenceDateParts[1], 'P') === 0) {
            $interval = new \DateInterval($referenceDateParts[1]);
            $date = new \DateTime($referenceDateParts[0]);
            return $date->add($interval);
        } else {
            throw new InvalidValidationOptionsException(sprintf('There is no valid interval declaration in "%s". Exactly one part must begin with "P".', $referenceDateString), 1324314462);
        }
    }
DateTimeRangeValidator