XmlAdapter的日期不能正常工作?

时间:2019-02-23 11:51:03

标签: java date jaxb

有用于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

当尝试写入String

Fri Jan 01 02:59:59 MSK 2010

当尝试调用获取数据的方法

riskMetric.getUpdateDateTime().getCalendarDate()
returns 2001-07-04T13:08:56.235+0400

改变时间,+ 0300不带:符号。

0 个答案:

没有答案