DateTimeFormatter использует названия месяцев и заглавные буквы в соответствии с правилами локали.
На английском языке обязательно иметь заглавную первую букву месяца, что не относится к испанскому языку. Для испанского языка обязательно иметь маленькие буквы в соответствии с RAE
Вам нужно будет использовать класс DateFormatSymbols для переопределения названий месяцев, как показано ниже, ИЛИ просто преобразовать окончательную строку в вашем случае dateInspanish
первые буквы после первого пробела в прописные буквы, написав некоторый код.
Решение применимо только к Java7 или ниже. Для Java 8 и выше проверьте @Ole V.V. ответ
String input = "12252013";
Locale spanishLocale=new Locale("es", "ES");
DateFormatSymbols sym = DateFormatSymbols.getInstance(spanishLocale);
sym.setMonths(new String[]{"Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre" });
sym.setShortMonths(new String[]{"Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic" });
DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM, spanishLocale);
SimpleDateFormat sdf = (SimpleDateFormat) df;
sdf.setDateFormatSymbols(sym);
Date inputDate = new SimpleDateFormat("MMddyyyy").parse(input);
String dateInSpanish = sdf.format(inputDate);
System.out.println(dateInSpanish);