Parsen einen String mit einer GMT-Zeitzone Datum mit " = SimpleDateFormat

Ich habe problem Parsen des Datums aus einer Eingabe-Zeichenfolge der folgenden Form:

String input = "Fri Jul 15 12:00:00 GMT+300 2011";
String dateFormat  = "EEE MMM d HH:mm:ss z yyyy";
Date date = new SimpleDateFormat(dateFormat).parse(input);

Wird eine Ausnahme geworfen:

java.text.ParseException: Unparseable date: "Fri Jul 15 12:00:00 GMT+300 2011"
    at java.text.DateFormat.parse(DateFormat.java:337)

Ich Wette, es hat etwas zu tun mit der GMT-string. Ich denke, ich habe versucht es mit z, zzz, zZ, und zzzZ.
Irgendwelche Gedanken? Ist die Eingabe GMT+300 auch ein standard, gültige input-format?

  • Ich lese Dokumentation, aber konnte es nicht geparst.
  • Aus der Lektüre der Dokumentation, es sieht aus, als wenn GMT+300 ist nicht gültig, aber GMT+3:00 wäre. Gibt es eine Möglichkeit Sie manipulieren konnte, der Zeitzone Teil Ihres input-string zunächst so, dass es eigentlich gültig?
  • GMT+300 ist nicht gültig-format, +0300 ist
  • Joda Time können, damit umzugehen.
  • Naja, das problem ist, dass der String kommt direkt von unseren UI-framework integrierten Formular-Komponente DateItem (SmartGWT). Vielleicht werde ich informieren die Entwickler und warten, bis es behoben.
  • Sie könnte auch arbeiten rund um den " GMT " - Teil deklarieren, es als eine wörtliche, aber die +300 ist ein Fehler (das ist, wie Sie 25 mal um den Globus, ist es nicht?) Entweder es geworden ist +0300 oder +3:00
  • Machen Sie Ihrem Kommentar eine Antwort und ich werde es akzeptieren.

InformationsquelleAutor Kimi | 2011-07-15
Schreibe einen Kommentar