java如何将LocalDateTime转换回Instant,而不知道时区,而是使用时钟?
我能。在进行了一些操作之后,比如添加时间单位,我想将其转换为Instant
。但它需要时区。如何得到它
Clock clock = Clock.fixed(...);
LocalDateTime localDateTime = LocalDateTime.now(clock);
localDateTime = localDateTime.plusMinutes(60);
return localDateTime.toInstant(clock.getZone().getRules().getOffeset(...I need instant I don't have yet!...)
# 1 楼答案
您可以传递区域偏移量,例如} 。或者,您可以使用^{} 创建
ZoneOffset.UTC
到^{ZonedDateTime
,并将其转换为Instant
输出:
从Trail: Date Time了解有关现代日期时间API的更多信息
# 2 楼答案
据我所知,当您想要转换回
Instant
时,您仍然可以访问Clock
。你可以很容易地从时钟上得到时区。然后转换如下:此示例代码段的输出为: