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.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem war, dass
GMT+300
ist nicht gültig GMT string nach dem Java Timezone specification.Lösung: Manipulation der Zeitzone Teil des input-string.
GMT+300
==>GMT+3:00