Pokud používáte Javu 7 nebo starší, můžete se podívat na tento příspěvek.
Pokud používáte Java 8, můžete udělat:
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);
Aktualizovat
Jak zdůraznil @BasilBourque v komentáři, TemporalAccessor je rozhraní na úrovni rámce Java a není vhodné jej používat v kódu aplikace a je vhodné používat spíše konkrétní třídy než rozhraní.
Toto rozhraní je rozhraní na úrovni rámce, které by nemělo být široce používáno v kódu aplikace. Místo toho by aplikace měly vytvářet a předávat instance konkrétních typů, jako je LocalDate. Existuje pro to mnoho důvodů, část z nich spočívá v tom, že implementace tohoto rozhraní mohou být v jiných kalendářových systémech než ISO. Podrobnější diskusi o problémech naleznete v ChronoLocalDate.
Existuje několik konkrétních tříd, které lze použít, jako LocalDate, LocalDateTime, OffsetDateTime, ZonedDateTime atd.
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);