Tak jsem vzal váš kód a spustil ho a funguje mi dobře...
Myslím, že problém je v tom, že očekáváte LocalDate
objekt zachovat formát, se kterým jste objekt původně analyzovali, takto LocalDate
funguje.
LocalDate
je reprezentace data nebo období v čase, není to formát.
LocalDate
má toString
metoda, kterou lze použít k výpisu hodnoty objektu, to je interní formát používaný objektem k poskytnutí lidem čitelné reprezentace.
Chcete-li formátovat datum, musíte použít nějaký formátovač, který převezme požadovaný vzor a hodnotu data a vrátí String
Například následující kód...
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));
Vyrobeno...
2005-03-16/16-Mar-05
2005-03-16/16-Mar-05
2005-03-16/16-Mar-05
Než se nad tím začnete rozčilovat, takto Java Date
funguje také.