<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def formatted_datetime(self, fmt: str = '', **kwargs) -> str: """Generate datetime string in human readable format. :param fmt: Custom format (default is format for current locale) :param kwargs: Keyword arguments for :meth:`~Datetime.datetime()` :return: Formatted datetime string. """

        dt_obj = self.datetime(**kwargs)

        if not fmt:
            date_fmt = self._data['formats'].get('date')
            time_fmt = self._data['formats'].get('time')
            fmt = '{} {}'.format(date_fmt, time_fmt)

        return dt_obj.strftime(fmt)