2012-04-03 6 views
0

Ich habe Datum auf diese Weise formatiert:Welche Vorlage sollte ich in SimpleDateFormat verwenden?

 2010-02-04T00:00:00 

ich diesen Code verwenden, um es zu analysieren:

 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-mm-ddTHH:mm:ss"); 
     Date parsed = dateFormat.parse("2010-02-04T00:00:00"); 

Es gibt Ausnahme. Das Problem ist in "T" Brief. Wie kann ich dieses Datum analysieren, wenn der Server es in einem solchen Format zurückgibt?

Antwort

1

Verwenden Sie stattdessen einfach diese Zeichenfolge: "2010-02-04'T'00:00:00". Das '-Zeichen entkommt Buchstaben, so dass sie nicht als Teil des Datums analysiert werden.

Oder wie die Dokumentation von SimpleDateFormat erklärt es:

Text kann über einfache Anführungszeichen gesetzt werden (') Interpretation zu vermeiden. "''" steht für ein einfaches Zitat. Alle anderen Zeichen sind nicht interpretiert; Sie werden während der Formatierung einfach in die Ausgabezeichenfolge kopiert oder während der Syntaxanalyse mit der Eingabezeichenfolge verglichen.

1

versuchen diese:

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

bearbeiten lowecase m Aufenthalte pro Minute in Stunde. siehe die doc

1
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss"); 
SimpleDateFormat sdf2 = new SimpleDateFormat("EEE MMM dd'T' hh:mm:ss z yyyy"); 

Date myDate = sdf.parse(strDate); 
sdf2.format(myDate); 

System.out.println(myDate); 

ein bisschen mehr darüber hier lesen Dies funktioniert ...