J'ai donc pris votre code et l'ai exécuté et cela fonctionne bien pour moi...
Je pense que le problème que vous rencontrez est que vous attendez une LocalDate
object pour conserver le format avec lequel vous avez analysé l'objet à l'origine, ce n'est pas ainsi que LocalDate
fonctionne.
LocalDate
est une représentation de date ou de période dans le temps, ce n'est pas un format.
LocalDate
a un toString
méthode qui peut être utilisée pour vider la valeur de l'objet, il s'agit d'un format interne utilisé par l'objet pour fournir une représentation lisible par l'homme.
Pour formater la date, vous devez utiliser une sorte de formateur, qui prendra le modèle que vous voulez et une valeur de date et renverra une String
Par exemple, le code suivant...
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));
Produit...
2005-03-16/16-Mar-05
2005-03-16/16-Mar-05
2005-03-16/16-Mar-05
Avant de vous fâcher à ce sujet, voici comment Java Date
fonctionne aussi.