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
不包括时间。