我正在使用JAXB和joda時間2.2。將數據從Mysql備份到XML並將其還原。在我的表格中,我有一個格式爲「16-Mar-05」的日期屬性。我成功地將它存儲在XML中。但是當我想從XML讀取它並將其放回到Mysql表中時,我無法獲得正確的格式。以「dd-MMM-yy」格式輸入joda LocalDate的字符串
這是我的XMLAdapter類,在unmarshal方法中,輸入字符串是「16-Mar-05」,但我無法獲得格式爲「16-Mar-05」的localDate變量,儘管我正在設置模式到「dd-MMM-yy」。我發佈了所有我嘗試過的選項,我如何在「dd-MMM-yy」類似16-Mar-05format中獲得我的localDate?
謝謝!
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;
}
}
我跑你的代碼,我沒有看到問題 – MadProgrammer