XmlAdapter для даты не работает правильно? - PullRequest
0 голосов
/ 23 февраля 2019

Есть адаптер даты для 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 без: символ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...