Quindi ho preso il tuo codice e l'ho eseguito e funziona bene per me...
Il problema, credo, che stai riscontrando è che ti aspetti un LocalDate
oggetto per mantenere il formato con cui hai originariamente analizzato l'oggetto, non è così che LocalDate
funziona.
LocalDate
è una rappresentazione di una data o di un periodo, non è un formato.
LocalDate
ha un toString
metodo che può essere utilizzato per scaricare il valore dell'oggetto, questo è un formato interno utilizzato dall'oggetto per fornire una rappresentazione leggibile dall'uomo.
Per formattare la data, devi usare una sorta di formattatore, che prenderà lo schema desiderato e un valore di data e restituirà una String
Ad esempio, il codice seguente...
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
String date = "16-Mar-05";
DateTimeFormatter dtf = DateTimeFormat.forPattern("dd-MMM-yy");
LocalDate localDate2 = dtf.parseLocalDate(date);
System.out.println(localDate2 + "/" + dtf.print(localDate2));
//second way
LocalDate localDate3 = LocalDate.parse(date, DateTimeFormat.forPattern("dd-MMM-yy"));
System.out.println(localDate3 + "/" + dtf.print(localDate3));
//third way
DateTimeFormatter FORMATTER = DateTimeFormat.forPattern("dd-MMM-yy");
DateTime dateTime = FORMATTER.parseDateTime(date);
LocalDate localDate4 = dateTime.toLocalDate();
System.out.println(localDate4 + "/" + FORMATTER.print(localDate4));
Prodotto...
2005-03-16/16-Mar-05
2005-03-16/16-Mar-05
2005-03-16/16-Mar-05
Prima che ti arrabbi per questo, ecco come Java Date
funziona ugualmente.