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)