docs: private String formatMonthDate(Date date) {
      int flags = DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_YEAR
              | DateUtils.FORMAT_NO_MONTH_DAY;
  
      // Save default Locale
      Locale defaultLocale = Locale.getDefault();
  
      // Set new default Locale, the reason to do that is DateUtils.formatDateTime uses
      // internally this method DateIntervalFormat.formatDateRange to format the date. And this
      // method uses the default locale.
      //
      // More details about the methods:
      // - DateUtils.formatDateTime: https://goo.gl/3YW52Q
      // - DateIntervalFormat.formatDateRange: https://goo.gl/RRmfK7
      Locale.setDefault(locale);
  
      String dateFormatted;
      if (displayAlwaysDigitNumbers
        && explicitlyNumericYearLocaleLanguages.contains(locale.getLanguage())) {
        StringBuilder sb = new StringBuilder();
        SimpleDateFormat sdfMonth = new SimpleDateFormat(getContext()
          .getString(R.string.month_only_name_format), locale);
        SimpleDateFormat sdfYear = new SimpleDateFormat(getContext()
          .getString(R.string.year_only_format), Locale.ENGLISH);
        dateFormatted = sb.append(sdfMonth.format(date.getTime())).append(" ")
          .append(sdfYear.format(date.getTime())).toString();
      } else {
        // Format date using the new Locale
        dateFormatted = DateUtils.formatDateRange(getContext(), monthFormatter,
          date.getTime(), date.getTime(), flags, timeZone.getID()).toString();
      }
      // Call setLength(0) on StringBuilder passed to the Formatter constructor to not accumulate
      // the results
      monthBuilder.setLength(0);
  
      // Restore default Locale to avoid generating any side effects
      Locale.setDefault(defaultLocale);
  
      return dateFormatted;
    }