public static XMLGregorianCalendar getXMLEventTime(ZonedDateTime zonedDateTime) {
XMLGregorianCalendar xmlGregorianCalendar = null;
if(zonedDateTime!=null) {
GregorianCalendar gregorianCalendar = new GregorianCalendar();
gregorianCalendar.setTime(getDateFromZonedDateTime(zonedDateTime));
xmlGregorianCalendar = DatatypeFactory.newInstance().newXMLGregorianCalendar(gregorianCalendar);
}
return xmlGregorianCalendar;
}
我想以"2020-05-06T16:58:38.517+00:00“格式输出,但在UTC中得到了这个"2020-05-06T16:58:38.517Z”作为我的服务器。
当我在本地(IST timeZone)中运行应用程序时,我得到了正确的输出"2020-05-06T16:58:38.517+05:30“,但在UTC timeZone中不起作用。
发布于 2020-05-08 17:34:27
我在XML对象中进行了更改。
@XmlSchemaType(name = "dateTime")
@XmlJavaTypeAdapter(DateTimeAdapter.class)
protected XMLGregorianCalendar eventTime;
获得了预期的输出。
我使用XSD进行消息(XML)通信。添加上述DateTimeAdapter后,将"2020-05-06T16:58:38.517Z“转换为"2020-05-06T16:58:38.517+00.00”参考文献:JAXB Date Format Example using Annotation | Java Date to XML DateTime String Conversion
https://stackoverflow.com/questions/61630374
复制相似问题