如果您使用的是Java
7或更早版本,则可以参考此文章。
如果您使用的是Java 8,则可以执行以下操作:
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);更新资料
正如@BasilBourque在评论中指出的那样,TemporalAccessor是java框架级别的接口,不建议在应用程序代码中使用,建议使用具体的类而不是接口。
此接口是框架级别的接口,不应在应用程序代码中广泛使用。相反,应用程序应创建并传递具体类型的实例,例如LocalDate。造成这种情况的原因很多,部分原因是该接口的实现可能在ISO以外的日历系统中。有关问题的更详细讨论,请参见ChronoLocalDate。
有一些具体的类可供使用,例如LocalDate,LocalDateTime,OffsetDateTime,ZonedDateTime等。
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);


