Java XmlSchemaType";日期";-没有时区?

Java XmlSchemaType";日期";-没有时区?,java,xml,date,xsd,timezone,Java,Xml,Date,Xsd,Timezone,我使用的java xml注释如下: @XmlRootElement @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "OrganisationUnit", propOrder = { "companyId", "validFrom", "validTo", }) public class OrganisationUnit { @XmlElement(name = "company

我使用的java xml注释如下:

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "OrganisationUnit", propOrder = {
        "companyId",
        "validFrom",
        "validTo",
})
public class OrganisationUnit {

    @XmlElement(name = "company_id", required = true)
    protected String companyId;

    @XmlElement(name = "valid_from")
    @XmlSchemaType(name = "date")
    protected XMLGregorianCalendar validFrom;

    @XmlElement(name = "valid_to")
    @XmlSchemaType(name = "date")
    protected XMLGregorianCalendar validTo;

    ...
}
但是,当我通过REST服务提供信息时,
date
元素会显示时区:

<organisationUnits>
    <organisationUnit>
         <company_id>ABC</company_id>
         <valid_from>1970-01-01+01:00</valid_from>
         <valid_to>2099-12-31+01:00</valid_to>
    </organisationUnit>
</organisationUnits>

如何做到这一点?

好吧,阅读文档有时会告诉您一些奇妙的事情,下面就是如何做到这一点的具体方法,使用时区
数据类型常量。字段\u未定义

private XMLGregorianCalendar dateWithoutTimezone(Date date) throws DatatypeConfigurationException {
    calendar.setTime(date);
    XMLGregorianCalendar xmlGregorianCalendar = DatatypeFactory.newInstance().newXMLGregorianCalendar(calendar);
    xmlGregorianCalendar.setTimezone(DatatypeConstants.FIELD_UNDEFINED);
    return xmlGregorianCalendar;
}

希望这能有所帮助。

“阅读文档有时会告诉你一些奇妙的事情”
private XMLGregorianCalendar dateWithoutTimezone(Date date) throws DatatypeConfigurationException {
    calendar.setTime(date);
    XMLGregorianCalendar xmlGregorianCalendar = DatatypeFactory.newInstance().newXMLGregorianCalendar(calendar);
    xmlGregorianCalendar.setTimezone(DatatypeConstants.FIELD_UNDEFINED);
    return xmlGregorianCalendar;
}