Java SimpleDateFormat voor JJJJ-MM-DDTuu:mm:ssTZD

Een van de externe API’s die we gebruiken vereist

"YYYY-MM-DDThh:mm:ssTZD"

formaat dat moet worden doorgegeven in

XMLGregorianCalendar

voorwerp. Ik weet niet zeker of er iets in Java is dat "T"ondersteunt. Ik vroeg me af of een datum in Java in het bovenstaande formaat kan worden geparseerd? Een voorbeeld van een geldige datum die ze hebben verstrekt
is

"2009-07-16T19:20:30-05:00"…………

Update:
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZZZ");        
        GregorianCalendar gc = new GregorianCalendar();
        String dateString = sdf.format(gc.getTime());       
        gc.setTime(sdf.parse(dateString));      
        XMLGregorianCalendar date2 = DatatypeFactory.newInstance().newXMLGregorianCalendar(gc);

Uitvoer:

2014-04-17T13:11:30.000+01:00


Antwoord 1, autoriteit 100%

Gebruik JodaTime’sDateTimeFormatAPI met "yyyy-MM-dd'T'HH:mm:ssZ"datumpatroon

String date = "2009-07-16T19:20:30-05:00";
String pattern = "yyyy-MM-dd'T'HH:mm:ssZ";
DateTimeFormatter dtf = DateTimeFormat.forPattern(pattern);
DateTime dateTime = dtf.parseDateTime(date);
System.out.println(dateTime); // 2009-07-16T19:20:30-05:00

Antwoord 2, autoriteit 35%

Probeer Java 8 LocalDateTime.parse

U kunt ook Threeten gebruiken als u op een eerdere Java-versie bent.

Voorbeeld: DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssZ").format(yourLocalDateTime)


Antwoord 3, Autoriteit 30%

U moet het in afzonderlijke aanhalingstekens plaatsen.

Probeer

YYYY-mm-dd'T'hh:MM:ssZ

Antwoord 4, Autoriteit 15%

Ja, u kunt deze datum formatter.

DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");

Other episodes