Analise o registro de data e hora ISO usando Java 8 java.time api (somente edição padrão)

Estou tendo problemas para obter milissegundos da época fora da string no exemplo. Eu tentei essas três maneiras diferentes até agora, e o exemplo mostra a última tentativa. Sempre parece que tudo se resume aTemporalAccessor não suportaChronoField. Se eu pudesse construir com êxito uma instância do Instant, poderia usartoEpochMilli ().

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

Por favor, dê respostas concisas (não construa um formatador do zero) e use apenas a distribuição padrão do java 8 (eu posso fazer isso com o Joda, mas quero evitar dependências).

Editar: Instant.from no código acima lança: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

questionAnswers(4)

yourAnswerToTheQuestion