Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Zeichenfolge für joda LocalDate im Format dd-MMM-yy

Also habe ich Ihren Code genommen und ihn ausgeführt und er funktioniert gut für mich ...

Das Problem, das Sie haben, denke ich, ist, dass Sie ein LocalDate erwarten Objekt, um das Format beizubehalten, mit dem Sie das Objekt ursprünglich geparst haben, so funktioniert LocalDate nicht funktioniert.

LocalDate ist eine Darstellung des Datums oder Zeitraums, es ist kein Format.

LocalDate hat einen toString Methode, die verwendet werden kann, um den Wert des Objekts auszugeben, it, dies ist ein internes Format, das vom Objekt verwendet wird, um eine für Menschen lesbare Darstellung bereitzustellen.

Um das Datum zu formatieren, müssen Sie eine Art Formatierer verwenden, der das gewünschte Muster und einen Datumswert nimmt und einen String zurückgibt

Zum Beispiel der folgende Code...

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));

Produziert...

2005-03-16/16-Mar-05
2005-03-16/16-Mar-05
2005-03-16/16-Mar-05

Bevor Sie sich darüber aufregen, so funktioniert Java Date funktioniert auch.