String formatA ="yyyy-MM-dd'T'HH:mm:ss'Z'";
String formatB = "dd/MM/yyyy HH:mm:ss.SSS";
try {
XMLGregorianCalendar gregFmt = DatatypeFactory.newInstance().newXMLGregorianCalendar(new SimpleDateFormat(formatB).format(new Date()));
System.out.println(gregFmt);
} catch (DatatypeConfigurationException e) {
};
Ich versuche XMLGregorianCalendar Datum zu formatieren. Die obigen Codeformate auch für Format "yyyy-MM-dd'T'HH:mm:ss'Z'"
XMLGregorianCalendar Datumsformat 'TT/MM/JJJJ HH: mm: ss.SSS'
Aber für formatB dd/MM/yyyy HH:mm:ss.SSS
es wirft Fehler
java.lang.IllegalArgumentException
Sie Ratschläge, wie man es beheben. Ich danke dir sehr!
log
Exception in thread "main" java.lang.IllegalArgumentException: 23/08/2017 16:13:04.140
at com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl$Parser.parseAndSetYear(XMLGregorianCalendarImpl.java:2887)
at com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl$Parser.parse(XMLGregorianCalendarImpl.java:2773)
at com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl.<init>(XMLGregorianCalendarImpl.java:435)
at com.sun.org.apache.xerces.internal.jaxp.datatype.DatatypeFactoryImpl.newXMLGregorianCalendar(DatatypeFactoryImpl.java:536)
at test.test.main(test.java:19)
line19 ist Linie 4, in dem obigen Code 'XMLGregorianCalendar gregFmt ...'
Welcher Teil Ihrer riesigen Linie wirft diese Ausnahme? –
Es ist dieser Teil des Codes 'newXMLGregorianCalendar', der keine Datumsangaben im Format TT/MM/JJJJ HH: mm: ss.SSS haben kann, die im Protokoll zu – RahlSK
hinzugefügt wurden, versuchen, Zeitzone im Datumsformat hinzuzufügen. sdf.setTimeZone (TimeZone.getTimeZone ("UTC")); –