Parse ISO-Zeitstempel mit Java 8 java.time api (nur Standard Edition)

Ich habe im Beispiel Probleme, Millisekunden aus der Epoche herauszuholen. Ich habe diese drei Möglichkeiten bisher ausprobiert, und das Beispiel zeigt den letzten Versuch. Es kommt immer darauf an, dass das TemporalAccessor unterstützt nicht ChronoField. Wenn ich eine Instanz von Instant erfolgreich erstellen könnte, könnte ich @ verwendetoEpochMilli ().

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äzise Antworten (erstellen Sie keinen Formatierer von Grund auf neu) und verwenden Sie nur die Java 8-Standarddistribution (ich kann das mit Joda, möchte aber Abhängigkeiten vermeiden).

Bearbeiten Instant.from im obigen Code 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

Antworten auf die Frage(4)

Ihre Antwort auf die Frage