Analysieren ISO-Zeitstempel mit Java 8 java.time api (standard-edition)

Ich bin mit Mühe Millisekunden seit Beginn der Epoche aus dem string in dem Beispiel. Ich habe versucht, diese drei verschiedenen Möglichkeiten, so weit, und das Beispiel zeigt, wie der Letzte Versuch. Es scheint immer zu kommen, bis dass die TemporalAccessor nicht unterstützt ChronoField. Wenn konnte ich erfolgreich erstellen Sie eine Instanz von Instant, die ich verwenden könnte,toEpochMilli().

String dateStr = "2014-08-16T05:03:45-05:00"
TemporalAccessor creationAccessor = DateTimeFormatter.ISO_OFFSET_DATE_TIME.parse(dateStr);
Instant creationDate = Instant.from(creationAccessor);

Bitte geben Sie prägnante Antworten (nicht, bauen einen formatter von Grund auf) und verwenden Sie nur die java 8 standard-distribution (ich kann es mit Joda, aber wollen, um Abhängigkeiten zu vermeiden).

Edit: Instant.aus dem code oben wirft: java.time.DateTimeException: Unable to obtain Instant from TemporalAccessor: {OffsetSeconds=-18000},ISO resolved to 2014-08-16T05:03:45 of type java.time.format.Parsed

InformationsquelleAutor der Frage Travis Wellman | 2014-09-09

Schreibe einen Kommentar