Ciąg do daty lokalnej w formacie „dd-MMM-yy”
Używam JAXB i joda time 2.2. wykonać kopię zapasową danych z Mysql do XML i przywrócić je. w mojej tabeli mam atrybut Date w formacie „16-mar-05”. Z powodzeniem przechowuję to w XML. ale kiedy chcę przeczytać go z XML i umieścić z powrotem w tabeli Mysql, nie mogę uzyskać odpowiedniego formatu.
to jest moja klasa XMLAdapter, tutaj w nieostrej metodzie ciąg wejściowy to „16-Mar-05”, ale nie mogę uzyskać zmiennej localDate w formacie „16-Mar-05”, chociaż ustawiam wzór na „dd- MMM-yy ”. Wysłałem wszystkie opcje, które próbowałem, jak mogę uzyskać mój localDate w „dd-MMM-yy”, jak format 16-Mar-05?
Dzięki!!
public class DateAdapter extends XmlAdapter<String, LocalDate> {
// the desired format
private String pattern = "dd-MMM-yy";
@Override
public String marshal(LocalDate date) throws Exception {
//return new SimpleDateFormat(pattern).format(date);
return date.toString("dd-MMM-yy");
}
@Override
public LocalDate unmarshal(String date) throws Exception {
if (date == null) {
return null;
} else {
//first way
final DateTimeFormatter dtf = DateTimeFormat.forPattern("dd-MMM-yy");
final LocalDate localDate2 = dtf.parseLocalDate(date);
//second way
LocalDate localDate3 = LocalDate.parse(date,DateTimeFormat.forPattern("dd-MMM-yy"));
//third way
DateTimeFormatter FORMATTER = DateTimeFormat.forPattern("dd-MMM-yy");
DateTime dateTime = FORMATTER.parseDateTime(date);
LocalDate localDate4 = dateTime.toLocalDate();
return localDate4;
}
}