use*_*352 89 java datetime java-8 java-time
我使用Java 8的新DateTime API.
如何将LocalDate转换为Instant?我得到一个例外
LocalDate date = LocalDate.of(2012, 2, 2);
Instant instant = Instant.from(date);
Run Code Online (Sandbox Code Playgroud)
而且我不明白为什么.
mdo*_*mdo 114
为了将其转换为瞬间,您需要具有LocalDateTime实例,例如:
LocalDate.now().atStartOfDay().toInstant(ZoneOffset.UTC)
Run Code Online (Sandbox Code Playgroud)
Jod*_*hen 70
的Instant类表示时间线的瞬时点.转换为a和从a转换LocalDate需要时区.与其他一些日期和时间库不同,JSR-310不会自动为您选择时区,因此您必须提供它.
LocalDate date = LocalDate.now();
Instant instant = date.atStartOfDay(ZoneId.systemDefault()).toInstant();
Run Code Online (Sandbox Code Playgroud)
此示例使用JVM的默认时区ZoneId.systemDefault()- 来执行转换.请参阅此处以获取相关问题的更长答案.
更新:接受的答案使用LocalDateTime::toInstant(ZoneOffset)仅接受ZoneOffset.这个答案使用LocalDate::atStartOfDay(ZoneId)哪个接受任何ZoneId.因此,这个答案通常更有用(并且可能应该是可接受的答案).
PS.我是API的主要作者
| 归档时间: |
|
| 查看次数: |
62409 次 |
| 最近记录: |