static fromFormat(text, fmt, opts = {}) {
    if (isUndefined(text) || isUndefined(fmt)) {
      throw new InvalidArgumentError("fromFormat requires an input string and a format");
    }

    const { locale = null, numberingSystem = null } = opts,
      localeToUse = Locale.fromOpts({
        locale,
        numberingSystem,
        defaultToEN: true,
      }),
      [vals, parsedZone, specificOffset, invalid] = parseFromTokens(localeToUse, text, fmt);
    if (invalid) {
      return DateTime.invalid(invalid);
    } else {
      return parseDataToDateTime(vals, parsedZone, opts, `format ${fmt}`, text, specificOffset);
    }
  }
Create a DateTime from an input string and format string.
Defaults to en-US if no locale has been specified, regardless of the system's locale. For a table of tokens and their interpretations, see [here](https://moment.github.io/luxon/#/parsing?id=table-of-tokens).
@param {string} text - the string to parse
@param {string} fmt - the format the string is expected to be in (see the link below for the formats)
@param {Object} opts - options to affect the creation
@param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the DateTime to this zone
@param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one
@param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale
@param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system
@param {string} opts.weekSettings - the week settings to set on the resulting DateTime instance
@param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance
@return {DateTime}