如何将LocalDate转换为即时?

我使用Java 8的新DateTime API。

如何将LocalDate转换为即时? 我得到一个exception

LocalDate date = LocalDate.of(2012, 2, 2); Instant instant = Instant.from(date); 

我不明白为什么。

为了将其转换为即时您需要有一个LocalDateTime实例,例如:

 LocalDate.now().atStartOfDay().toInstant(ZoneOffset.UTC) 

Instant类表示时间线上的瞬时点。 当地date的转换需要一个时区。 与其他date和时间库不同,JSR-310不会自动为您select时区,因此您必须提供。

 LocalDate date = LocalDate.now(); Instant instant = date.atStartOfDay(ZoneId.systemDefault()).toInstant(); 

此示例使用JVM的默认时区ZoneId.systemDefault()来执行转换。 在这里看到一个相关的问题更长的答案 。