[英]XmlSchemaType “date” - without time zone?
我正在使用这样的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>
我不完全了解XmlSchemaType date
是否需要显示时区 - 但理想情况下我想显示没有时区的日期。
<valid_from>1970-01-01</valid_from>
<valid_to>2099-12-31</valid_to>
我怎样才能做到这一点?
好吧,阅读文档有时会告诉你很棒的事情,而且这里是如何做到的,时区DatatypeConstants.FIELD_UNDEFINED
:
private XMLGregorianCalendar dateWithoutTimezone(Date date) throws DatatypeConfigurationException {
calendar.setTime(date);
XMLGregorianCalendar xmlGregorianCalendar = DatatypeFactory.newInstance().newXMLGregorianCalendar(calendar);
xmlGregorianCalendar.setTimezone(DatatypeConstants.FIELD_UNDEFINED);
return xmlGregorianCalendar;
}
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.