当前位置: 首页 > 知识库问答 >
问题:

如何将LocalDate转换为Instant?

卞成荫
2023-03-14

我使用Java 8的新DateTime API。

如何将LocalDate转换为Instant?我有个例外

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

我不明白为什么。

共有2个答案

费凯康
2023-03-14

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),它接受任何ZoneId。因此,这个答案通常更有用(而且可能应该是公认的答案)。

附言。我是原料药的主要作者

彭开畅
2023-03-14

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

LocalDate.now().atStartOfDay().toInstant(ZoneOffset.UTC)
 类似资料:
  • 我想把这个(字符串)s1转换成模式的LocalDate(LocalDate-dd/mm/yyy) 输出-25/07/1992应该是LocalDate类型,而不是字符串

  • 问题内容: 将JodaTime转换为对象的最简单方法是什么? 问题答案: 乔达时间 要将JodaTime转换为,请执行 要将JodaTime转换为,请执行 Java时间 要将Java8转换为,请执行 要将Java8转换为,请执行 您可能会想用来缩短它,但是没有直接的API可以获取系统默认的区域偏移量。 要将Java8转换为,请执行

  • 语境 我有控制器测试。我试图将对象UserDto转换为Json,使用的是Gson。 问题 Gson无法转换类型为LocalDate的字段生日。它向我显示错误消息:无法读取HTTP消息:org。springframework。http。转换器。HttpMessageNoteableException:JSON解析错误:意外标记(START\u对象),预期值\u字符串:预期数组或字符串。;嵌套异常为c

  • 在Java8中,如何将(在中)转换为(在中)?

  • 我有一个来自源代码的,根据规范,它应该是,但在类中没有看到任何方法将转换为。 最好的方法是什么?

  • 问题内容: 如何指定格式字符串以将日期单独转换为字符串。就我而言,只有日期部分是相关的 将其构造为失败: 有错误 可能是因为我应该改用。但是,我看不到任何格式化程序。什么是转换的最佳方式进入(或别的东西,如果这是不正确的表示) 谢谢… 问题答案: 您可能正在寻找。这有点令人困惑,因为它采用了通用类型,但是文档指出如果将a 传递给构造函数,它将使用一个知道如何处理a的a ,例如