public function isLeap()
    {
        if (0 !== $this->year % 4) {
            return false;
        }

        if (0 !== $this->year % 100) {
            return true;
        }

        if (0 !== $this->year % 400) {
            return false;
        }

        return true;
    }