Konvertierung eines time String ISO 8601-format

Ich versuche zum erstellen einer Zeichenfolge in ein format wie 2015-08-20T08:26:21.000 Z

zu 2015-08-20T08:26:21Z

Ich weiß, es kann getan werden, mit einigen String-splitting-Techniken, aber ich Frage mich, ob es eine elegante Lösung für die, die (mit minimalen änderungen am code).

Beide der oben genannten Zeit, die Saiten, das Letzte was ich brauchen, ist Datum im ISO 8601 . http://tools.ietf.org/html/rfc3339#section-5.6

Ich habe versucht ein paar ähnliche Fragen wie Konvertierung eines Datums-string in Millisekunden in java aber nicht eigentlich lösen, der Zweck.

Habe auch versucht mit :

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mmZ");
String nowAsString = df.format(new Date());

Aber es noch nicht tun, keine String-zu-String-Konvertierungen. Immer den folgenden Fehler:

23:04:13,829 WARNEN [RuntimeExceptionMapper] gefangen RuntimeException: {}: java.lang.IllegalArgumentException: Cannot format given Object as a Date

Gibt es eine Bibliothek, die jemand vorschlagen kann ?

Dank.

  • Joda-Time. Siehe: jodatime
  • Was Typ Date?
  • Eingang und Ausgang sind beide strings. Aber diese strings tatsächlich repräsentieren unterschiedliche Zeitzonen.
  • Eine DateFormat-String hat zu Zeitpunkt und Datum, zu-String-Konvertierung. Sie möchten die String-zu-String-Konvertierung. So können Sie verwenden Sie ein Datumsformat, das zu tun-String zu Datum-Konvertierung, und eine, die tut, Datum Zu-String-Konvertierung. Und Nein, Sie repräsentieren nicht den Unterschied Zeitzonen. Hat man eine Millisekunde Teil und der andere nicht. Das ist der einzige Unterschied. Die endgültige Z-bedeutet, Zulu-Zeit, d.h. UTC-Zeitzone.
  • Also org.joda.Zeit.format.DateTimeFormatter ?
  • Also Ihr Ziel ist die Beseitigung des .000? Dein Titel ist verwirrend, da die beiden Datum-Zeit-strings in deinem ersten Satz sind gültig ISO-8601 - strings.

InformationsquelleAutor CodeMonkey | 2015-08-23
Schreibe einen Kommentar