public function set(int $jdn)
    {
        if (!$this->isValidInteger($jdn)) {
            throw new InvalidDateException();
        }

        $this->jdn = $jdn;

        $date = static::process($jdn);

        return $this->setDate($date);
    }