gpt4 book ai didi

java - 如何为柏林时区设置 ZoneOffset

转载 作者:行者123 更新时间:2023-12-04 12:43:04 25 4
gpt4 key购买 nike

我得到的 LocalDateTime 比实际时间少两个小时。我如何获得德国的偏移时间,柏林时间为我的以下代码谢谢。

LocalDateTime dateTime = LocalDateTime.ofEpochSecond(seconds, 0, ZoneOffset.UTC);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss", Locale.ENGLISH);

谢谢

最佳答案

使用 ZoneId和一个 ZonedDateTime .

    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss", Locale.ENGLISH);
ZoneId zone = ZoneId.of("Europe/Berlin");

long seconds = 1_556_000_000;

ZonedDateTime dateTime = Instant.ofEpochSecond(seconds).atZone(zone);
String formattedDateTime = dateTime.format(formatter);
System.out.println(formattedDateTime);

此代码段的输出是:

23.04.2019 08:13:20



我的示例秒值对应于 06:13:20 UTC,因此您已经从 UTC 获得了两个小时的偏移量。

夏令时 (DST) 是内置的,因此在冬季,您将只获得 UTC 时间 1 小时的时间。抵消工作的历史性变化也是开箱即用的,以及已知的 future 变化(2021 年之后德国会发生什么没人知道)。

关于java - 如何为柏林时区设置 ZoneOffset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55494040/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com