Есть адаптер даты для jaxb
import javax.xml.bind.annotation.adapters.XmlAdapter;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateAdapter extends XmlAdapter<String, Date> {
private final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
@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);
}
}
}
Итак, у меня есть модель, получаю это поле - все в порядке, но когда пишу \ читаю в String - этот класс изменяет формат данных
Было
2001-07-04T12:08:56.235+03:00
И при попытке записи в строку
Fri Jan 01 02:59:59 MSK 2010
При попытке вызвать метод получить данные
riskMetric.getUpdateDateTime().getCalendarDate()
returns 2001-07-04T13:08:56.235+0400
измененное время и +0300 без: символ.