Så jeg tog din kode og kørte den, og den fungerer fint for mig...
Problemet, tror jeg, du har, er, at du forventer en LocalDate
objekt for at bevare det format, som du oprindeligt parsede objektet med, det er ikke sådan LocalDate
virker.
LocalDate
er en repræsentation af dato eller periode i tid, er det ikke et format.
LocalDate
har en toString
metode, som kan bruges til at dumpe værdien af objektet, det, dette er et internt format, der bruges af objektet til at give en menneskelig læsbar repræsentation.
For at formatere datoen skal du bruge en form for formater, der tager det ønskede mønster og en datoværdi og returnerer en String
For eksempel følgende kode...
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));
Produceret...
2005-03-16/16-Mar-05
2005-03-16/16-Mar-05
2005-03-16/16-Mar-05
Før du bliver ked af dette, er det sådan her Java Date
virker også.