def _check_date(self, fmt='<STR_LIT>'):
result = None<EOL>try:<EOL><INDENT>dt_obj = dt.datetime.strptime(self.date, fmt)<EOL><DEDENT>except ValueError:<EOL><INDENT>result = '<STR_LIT>'.format(self.date)<EOL><DEDENT>else:<EOL><INDENT>if dt_obj < self._acs_installation_date:<EOL><INDENT>result = ('<STR_LIT>'<EOL>'<STR_LIT>'<EOL>.format(self._acs_installation_date.strftime(fmt)))<EOL><DEDENT>elif dt_obj > self._extrapolation_date:<EOL><INDENT>result = ('<STR_LIT>'<EOL>'<STR_LIT>'<EOL>'<STR_LIT>'<EOL>'<STR_LIT>'<EOL>.format(self._extrapolation_date.strftime(fmt)))<EOL><DEDENT><DEDENT>finally:<EOL><INDENT>return result<EOL><DEDENT>
Convenience method for determining if the input date is valid.

        Parameters
        ----------
        fmt : str
            The format of the date string. The default is ``%Y-%m-%d``, which
            corresponds to ``YYYY-MM-DD``.

        Returns
        -------
        status : str or `None`
            If the date is valid, returns `None`. If the date is invalid,
            returns a message explaining the issue.