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

Java8-将LocalDate转换为ZonedDateTime

邵鸿福
2023-03-14

我是java.time包的新手。我有一个本地日期是2015-12-10。我需要将此转换为ZonedDateTime。时间应该是00:00:00,区域是zoneoffset.utc。

ZonedDateTime.ofInstant(Instant.from(startDate), ZoneOffset.UTC)

dateTimeException:无法从java.time.localDate类型的TemporalAccessor:2015-12-10获取Instant

我也试过:

startDate.atStartOfDay().atZone(ZoneOffset.UTC)

这会产生意想不到的结果。

我查看了API并尝试了一些其他方法,但到目前为止没有运气。

还有其他方法可以将LocalDate转换为ZonedDateTime吗?

共有1个答案

司徒经纶
2023-03-14

当将不太特定的对象转换为更特定的对象时,请使用'at'方法:

ZonedDateTime zdt = startDate.atStartOfDay(ZoneOffset.UTC);

然而,传入UTC偏移量不会得到+02:00,这表明您试图实现其他目标。

 类似资料:
  • 在Java8中,如何将(在中)转换为(在中)?

  • 问题内容: 我正在使用JodaTime 1.6.2。 我有一个需要转换为(Joda)或进行映射的a。 原因是我想出了如何在a 和a 之间进行转换: 因此,如果我可以在和之间进行转换,则可以继续转换为。感谢您朝着正确的方向前进! 问题答案: 乔达时间 要将JodaTime转换为,只需执行 要将JodaTime转换为,只需执行 Java时间 要将Java8转换为,只需执行 要将Java8转换为,只需执

  • 我想把这个(字符串)s1转换成模式的LocalDate(LocalDate-dd/mm/yyy) 输出-25/07/1992应该是LocalDate类型,而不是字符串

  • 我想将转换为,但由于某种原因无法转换。

  • 我使用Java 8的新DateTime API。 如何将LocalDate转换为Instant?我有个例外 我不明白为什么。

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