Hola Paslopjo:
Al final no pude resolverlo de la forma que había planeado.
Lo que utilizo al final es esta función, que se basa en el SimpleDateFormat.
Código:
public static String cambiarFormatoFecha (String fecha, String formatoOrig, String formatoFin){
SimpleDateFormat sdf = new SimpleDateFormat(formatoOrig);
try {
Date fechaOrig = sdf.parse(fecha);
sdf = new SimpleDateFormat(formatoFin);
return sdf.format(fechaOrig);
} catch (ParseException e) {
return null;
}
}
Seguramente se puede hilar más fino, buscando con la clase DateFormatterSymbols o algo así, los símbolos propios del locale que necesitas. Es posible que también puedas obtener el formato base del locale para DateTime de la clase DateFormat y con eso montar un SimpleDateFormat a conveniencia, de manera que sabiendo en qué orden se muestran el día, mes y año, luego tú le puedas indicar el número de dígitos que necesitas para cada parte de la fecha. Creo que ese patrón te lo devuelve DateFormat.getPattern o algo así. Hablo de memoria y a lo mejor no sirve porque al final tuve que abandonar la opción de ser perfeccionista y por temas de tiempo pasar a lo rápido y práctico aunque sea menos bonito.
Un saludo.