【发布时间】:2019-07-05 14:04:05
【问题描述】:
我在这里关注了一个主题,但它没有回答我的问题。 我希望肥皂响应将本地日期格式化为肥皂请求中的相同本地日期。
例如:我的本地日期请求:10/10/1990 响应必须是 10/10/1990 但我总是得到 1990-10-10 因为 toString 以这种方式格式化它......
我的代码:
public class LocalDateAdapter extends XmlAdapter<String, LocalDate> {
public DateTimeFormatter dateFormat() {
//DateTimeFormatter formatter = DateTimeFormatter.ofPattern("[MM/dd/yyyy][MM-dd-yyyy][yyyy/MM/dd][yyyy-MM-dd]");
DateTimeFormatter mmddyyyySlash = DateTimeFormatter.ofPattern("MM/dd/yyyy");
DateTimeFormatter mmddyyyy = DateTimeFormatter.ofPattern("MM-dd-yyyy");
DateTimeFormatter yyyymmdd = DateTimeFormatter.ofPattern("yyyy-MM-dd");
DateTimeFormatter yyyymmddSlash = DateTimeFormatter.ofPattern("yyyy/MM/dd");
DateTimeFormatter formatter = new DateTimeFormatterBuilder()
.appendOptional(mmddyyyySlash)
.appendOptional(mmddyyyy)
.appendOptional(yyyymmdd)
.appendOptional(yyyymmddSlash)
.toFormatter();
return formatter;
}
public LocalDate unmarshal(String v) throws Exception {
DateTimeFormatter formatter = dateFormat();
return LocalDate.parse(v, formatter);
}
public String marshal(LocalDate v) throws Exception {
return v.toString();
}
}
我该如何解决? 我试图:
public String marshal(LocalDate v) throws Exception {
DateTimeFormatter formatter = dateFormat();
String ld = v.format(formatter);
return ld;
}
但是结果: 05/05/199005-05-19901990-05-051990/05/05 :(
【问题讨论】: