IntervalFormatter_ = function(
    firstPattern, secondPattern, dateTimeSymbols, useFirstDateOnFirstPattern) {
  /**
   * Formatter_ to format the first part of the date interval.
   * @private @const {!DateTimeFormat}
   */
  this.firstPartFormatter_ = new DateTimeFormat(firstPattern, dateTimeSymbols);

  /**
   * Formatter_ to format the second part of the date interval.
   * @private @const {!DateTimeFormat}
   */
  this.secondPartFormatter_ =
      new DateTimeFormat(secondPattern, dateTimeSymbols);

  /**
   * Specifies if the first or the second date should be formatted by the
   * formatter of the first or second part of the date interval.
   * @private {boolean}
   */
  this.useFirstDateOnFirstPattern_ = useFirstDateOnFirstPattern;
}
Constructs an IntervalFormatter_ object which implements the Formatter_
interface.

Internal object to construct and store a goog.i18n.DateTimeFormat for each
part of the date interval pattern.

@param {string} firstPattern First part of the date interval pattern.
@param {string} secondPattern Second part of the date interval pattern.
@param {!DateTimeSymbolsType} dateTimeSymbols Symbols to use with the
    datetime formatters.
@param {boolean} useFirstDateOnFirstPattern Indicates if the first or the
    second date should be formatted with the first or second part of the date
    interval pattern.
@constructor
@implements {Formatter_}
@private