Answers:
的Instant类表示时间线的瞬时点。往返之间的转换LocalDate需要一个时区。与其他日期和时间库不同,JSR-310不会自动为您选择时区,因此您必须提供它。
LocalDate date = LocalDate.now();
Instant instant = date.atStartOfDay(ZoneId.systemDefault()).toInstant();
本示例使用JVM的默认时区ZoneId.systemDefault()--执行转换。有关相关问题的详细答案,请参见此处。
更新:接受的答案使用LocalDateTime::toInstant(ZoneOffset)仅接受的答案ZoneOffset。此答案使用LocalDate::atStartOfDay(ZoneId)接受any ZoneId。因此,此答案通常更有用(可能应该是公认的答案)。
PS。我是API的主要作者
为了将其转换为即时,您需要具有LocalDateTime实例,例如:
LocalDate.now().atStartOfDay().toInstant(ZoneOffset.UTC)
LocalDate不包括时间。