Als je Java 7 of eerder gebruikt, kun je dit bericht raadplegen.
Als u Java 8 gebruikt, kunt u het volgende doen:
DateTimeFormatter timeFormatter = DateTimeFormatter.ISO_DATE_TIME;
TemporalAccessor accessor = timeFormatter.parse("2015-10-27T16:22:27.605-07:00");
Date date = Date.from(Instant.from(accessor));
System.out.println(date);
Bijwerken
Zoals aangegeven door @BasilBourque in de opmerking, is TemporalAccessor een interface op Java-frameworkniveau en wordt het niet aanbevolen om het in de applicatiecode te gebruiken en is het raadzaam om concrete klassen te gebruiken in plaats van de interfaces.
Deze interface is een interface op framework-niveau die niet veel gebruikt mag worden in applicatiecode. In plaats daarvan zouden toepassingen instanties van concrete typen, zoals LocalDate, moeten maken en doorgeven. Hier zijn veel redenen voor, waarvan een deel is dat implementaties van deze interface in andere kalendersystemen dan ISO kunnen zijn. Zie ChronoLocalDate voor een uitgebreidere bespreking van de problemen.
Er zijn een paar concrete klassen beschikbaar om te gebruiken, zoals LocalDate, LocalDateTime, OffsetDateTime, ZonedDateTime en etc..
DateTimeFormatter timeFormatter = DateTimeFormatter.ISO_DATE_TIME;
OffsetDateTime offsetDateTime = OffsetDateTime.parse("2015-10-27T16:22:27.605-07:00", timeFormatter);
Date date = Date.from(Instant.from(offsetDateTime));
System.out.println(date);