我有JPA日期字段的DateAdapter:
public class DateAdapter extends XmlAdapter<String, Date> {
private final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd'T'HHmmss.SSS z");
@Override
public String marshal(Date v) throws Exception {
synchronized (dateFormat) {
return dateFormat.format(v);
}
}
@Override
public Date unmarshal(String v) throws Exception {
synchronized (dateFormat) {
return dateFormat.parse(v);
}
}
}但是如果我尝试解组字符串:
格林尼治时间19990102T025555.000
解封送方法返回
星期六02月05日:55:55 MSK 1999
但我需要归还同样的东西,保存在基地。
发布于 2018-12-14 09:35:59
如果您能够并且愿意将Date替换为ZonedDateTime (来自Java 8),您可以这样做:
private final DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyyMMdd'T'HHmmss.SSS z");
ZonedDateTime date = ZonedDateTime.parse("19990102T025555.000 GMT", dateFormat);
System.out.println(date); // 1999-01-02T02:55:55Z[GMT]
System.out.println(dateFormat.format(date)); // 19990102T025555.000 GMThttps://stackoverflow.com/questions/53776720
复制相似问题