当前位置: 首页 > 面试题库 >

在时区将ZonedDateTime转换为LocalDateTime

纪鸿禧
2023-03-14
问题内容

我的目的ZonedDateTime,其被构造这样

ZonedDateTime z = ZonedDateTime.of(LocalDate.now().atTime(11, 30), ZoneOffset.UTC);

如何将其转换LocalDateTime为瑞士时区?预期结果应该是16 april 2018 13:30


问题答案:

如何在瑞士的时区将其转换为LocalDateTime?

您可以将UTC ZonedDateTime转换为ZonedDateTime带有瑞士时区的UTC
,但要保持同一时间,然后LocalDateTime根据需要使用该时间。我很想将它保留为,ZonedDateTime除非您LocalDateTime出于某些其他原因需要它。

ZonedDateTime utcZoned = ZonedDateTime.of(LocalDate.now().atTime(11, 30), ZoneOffset.UTC);
ZoneId swissZone = ZoneId.of("Europe/Zurich");
ZonedDateTime swissZoned = utcZoned.withZoneSameInstant(swissZone);
LocalDateTime swissLocal = swissZoned.toLocalDateTime();


 类似资料:
  • 我是java.time包的新手。我有一个本地日期是2015-12-10。我需要将此转换为ZonedDateTime。时间应该是00:00:00,区域是zoneoffset.utc。 dateTimeException:无法从java.time.localDate类型的TemporalAccessor:2015-12-10获取Instant 我也试过: 这会产生意想不到的结果。 我查看了API并尝试

  • 在某些情况下,日期是错误的。有什么建议吗?

  • 问题内容: 如何在Java中将纪元转换为? 给定的代码期望 长 值,因此将抛出上面给出的值。 问题答案: 罗勒·布尔克(BasilBourque)的答案很不错。从小数部分中取出纳秒到一个纳秒整数可能会导致一个或两个陷阱。我建议: 此打印 纳秒级不需要64位,因此我只是使用。 假设:我假设您的字符串包含一个浮点数,并且可以对其进行签名,例如,这意味着在纪元开始 前 一秒半。如果某一天的时间用科学计数

  • 问题内容: 将Joda时间迁移到Java 8 乔达: 迁移至Java 8 这是我的代码;它确实可以编译;我怀疑它是否有效: 在某些情况下,日期是错误的。有什么建议吗? 问题答案: 这似乎可行:

  • 但这一个返回的是基于本地时间的毫秒。也不考虑ZoneID。 假设。如果我将其转换为具有区域id(“Asia/Kolkata”)的,那么我将得到()。然后以UTC转换为EpochMilli(1554854400000)=()。

  • Excel中的datetime保存为1900-01-01之后的天数(1,因为它认为1900-02-29发生了)。数字中的分数是一天中的时间偏移量。 这个数字没有时区的概念。所以12.5是1900-01-12T12:00:00在您打开电子表格的时区。在科罗拉多州打开它,它显示中午。在德国打开它,它显示中午。这不是瞬间,而是LocalDateTime。 对于我们的系统,我们将所有内容存储为Offset