2013-01-18 13 views
7

Ich bin ein Date-Objekt bekommen, die ich zu XMLGregorian Kalender bestimmten Format konvertieren müssenDate XMLGregorianCalendar mit bestimmten Format

ich unten Art und Weise versucht

String formattedDate = sdf.format(categoryData.getBulkCollectionTime()); //yyyy-MM-dd HH:mm:ss 
XMLGregorianCalendar xmlCal = DatatypeFactory.newInstance().newXMLGregorianCalendar(formattedDate); 
dataListType.setTimestamp(xmlCal); 

ich eine Ausnahme bin immer, ich sicher mache ich hier falsch. Aber ich möchte das Date-Objekt in das angegebene Format formatieren, was perfekt von sdf.format erledigt wird.

Aber wie erstelle ich das XMLGregorianCalendar Objekt für das gleiche (von formatiertemDatum)?

Antwort

4

Sie können es durch das Datum Objekt selbst:

String formattedDate = sdf.format(categoryData.getBulkCollectionTime()); //yyyy-MM-dd HH:mm:ss 
convertStringToXmlGregorian(formattedDate); 


public XMLGregorianCalendar convertStringToXmlGregorian(String dateString) 
{ 
     try { 
      Date date = sdf.parse(dateString); 
      GregorianCalendar gc = (GregorianCalendar) GregorianCalendar.getInstance(); 
      gc.setTime(date); 
      return DatatypeFactory.newInstance().newXMLGregorianCalendar(gc); 
     } catch (ParseException e) { 
      // Optimize exception handling 
      System.out.print(e.getMessage()); 
      return null; 
     } 

} 
+3

ich mit Ihrem Beispiel versucht, aber in dem Ausgangswert erhalte ich „2013 -01-18T07: 46: 00.000 "als Ausgabe. Ich möchte nicht "T" – Reddy

6

sollten Sie fixiert Ihr Datumsformat:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); 
sdf.setTimeZone(TimeZone.getTimeZone("GMT")); 
String date = sdf.format(new Date()); 
XMLGregorianCalendar xmlCal = DatatypeFactory.newInstance().newXMLGregorianCalendar(date); 
+1

in Ausgabe Ich bekomme "2013-01-18T07: 46: 00.000" Ich möchte nicht T – Reddy

+1

Sie können ein beliebiges Format für die Ausgabe verwenden, aber newXMLGregorianCalendar (dateTime) akzeptiert nur Daten in XSD dateTime-Format, siehe API –

Verwandte Themen