public function add($interval) : DateTime
    {
        if ($interval instanceof DateInterval) {
            $this->value->add($interval);
            return $this;
        }

        $i = $this->tryToCreateIntervalByDesignators($interval);
        if (!$i) {
            $i = DateInterval::createFromDateString($interval);
        }

        $this->value->add($i);

        return $this;
    }