2011-12-06 13 views
5

sto analizzando questo formato della data da XML: => "2011-12-06T07: 41: 14,016 + 00: 00", e sto ottenendo questo errore:SimpleDateFormat ParseException: di analizzarlo data Errore

  • W/System.err (574): java.text.ParseException: data di analizzarlo: "2011-12-06T07: 41: 14,016 + 00: 00"

sono certo che sia la frase di formattazione che sto usando, ma non riesco a capire cosa DOVREBBE essere ...

Ecco la dichiarazione che sto utilizzando:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss.SSSZ:ss"); 

ottengo come creare un formato per questa parte: "2011-12-06T07: 41: 14 ....", è questo altro parte: => ".016 + 00: 00" mi sta lanciando per un ciclo.

Ho cercato risposte qui già: Android SimpleDateFormat Page, e qui Oracle SimpleDateFormat Page, ma ho paura che mi manca qualcosa di fondamentale ....

Avete qualche suggerimento su una dichiarazione formato corretto per quella data particolare formato, o risorse pertinenti da esaminare?

Grazie mille in anticipo!

+0

si dovrebbe verificare questa domanda relativa http://stackoverflow.com/questions/ 909022/whats-the-best-way-to-parse-an-xml-datetime-in-java – Craigy

risposta

5

Il modello "Z" corrisponde a 0000 e non 00: 00, quindi se si rimuove l'ultimo ":" prima si analizza allora funzionerà.

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss.SSSZ"); 
try { 
    Date myDate = sdf.parse("2011-12-06T07:41:14.016+00:00".replaceAll("([0-9\\-T]+:[0-9]{2}:[0-9.+]+):([0-9]{2})", "$1$2")); 
    System.out.println(myDate); 
} catch (ParseException e) { 
    e.printStackTrace(); 
} 
+0

Fantastico! Sei forte! :-) Questo mi ha fatto uscire da una marmellata appiccicosa ... Grazie mille! Ora c'è un altro modo per eseguire l'analisi della data che può gestire meglio la variabilità dei formati Data. Ne ho alcuni, ma sono goffi. – ProfVersaggi

2
"yyyy-MM-dd'T'HH:mm:ss.SSSZ" 2001-07-04T12:08:56.235-0700 

L': ss alla fine sembra non corretta

Problemi correlati