private function parseDateTimeFormat()
    {
        try {
            if ($this->isNull($this->format)) {
                $this->format = self::$defaultFormat;
            }

            $str = new StringObject($this->format);
            $chunks = $str->split();

            $this->buildFormatterList();

            foreach ($chunks as $c) {
                foreach (self::$formatters as $fk => $f) {
                    if ($f->inArray($c)) {
                        $this->dateTimeFormat[$fk] = $c;
                    }
                }
            }
            $this->dateTimeFormat = new ArrayObject($this->dateTimeFormat);
        } catch (\Exception $e) {
            throw new DateTimeObjectException(DateTimeObjectException::MSG_INVALID_DATE_FORMAT, [$this->format]);
        }
    }