我有一个看起来像这样的日期字符串。
2017-12-06T17:39:00Z
我想做的是将此字符串转换为 XMLGregorianCalendar 但使用相同的格式。
我现在做的是:
String choosenDate = 2017-12-06T17:39:00Z;
GregorianCalendar c = new GregorianCalendar();
DateTimeFormatter timeFormatter = DateTimeFormatter.ISO_DATE_TIME;
TemporalAccessor accessor = timeFormatter.parse(dateChoisie);
Date date = Date.from(Instant.from(accessor));
c.setTime(date);
System.err.println("choosenDate: " + dateChoisie);
System.err.println("date : " + date);
XMLGregorianCalendar dateXMLGreg = null;
try
{
dateXMLGreg = DatatypeFactory.newInstance().newXMLGregorianCalendar(c);
System.err.println("dateXMLGreg: " + dateXMLGreg);
}
catch (DatatypeConfigurationException e)
{
messages.addMessage(new MessageBuilder().error().code("webservice.failure").build());
}
这给了我以下输出:
10:47:45,957 错误 [stderr](默认任务 47)选择日期:2017-12-06T17:39:03Z
10:47:45,957 错误 [stderr](默认任务 47)日期:2017 年 12 月 6 日星期三 18:39:03 CET
10:47:45,958 错误 [stderr](默认任务 47) dateXMLGreg:2017-12-06T18:39:03.000+01:00
那么我该怎么做才能让我的 XMLGregorianCalendar dateXMLGreg 看起来像:
2017-12-06T17:39:03Z