如何设置柏林时区的 ZoneOffset

use*_*935 8 java timezone datetime datetimeoffset java-time

我得到的LocalDateTime时间比实际时间少了两个小时。如何使用以下代码获取德国柏林的偏移时间?

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

Ole*_*.V. 10

使用 aZoneId和 a ZonedDateTime

\n
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss", Locale.ENGLISH);\nZoneId zone = ZoneId.of("Europe/Berlin");\n\nlong seconds = 1_556_000_000;\n\nZonedDateTime dateTime = Instant.ofEpochSecond(seconds).atZone(zone);\nString formattedDateTime = dateTime.format(formatter);\nSystem.out.println(formattedDateTime);\n
Run Code Online (Sandbox Code Playgroud)\n

该片段的输出是:

\n
\n

2019年4月23日 08:13:20

\n
\n

我的示例秒值对应于 06:13:20 UTC,因此您\xe2\x80\x99 已经得到了与 UTC 的两小时偏移量。

\n

夏令时 (DST) 是内置的,因此在冬季,您将仅获得 1 小时的 UTC 时间。胶印的历史性变化也是开箱即用的,并且已知未来的变化(2021 年之后德国会发生什么没人知道)。

\n