无法理解为什么 BST(UTC 偏移:UTC +1)在以下代码中得到偏移 +11。我期望+1。
final String lastUpdated = "Mon Sep 27 18:29:00 BST 2021";
final DateTimeFormatter LAST_UPDATED_FORMATTER = DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss z y").withLocale(Locale.UK);
ZonedDateTime zonedDateTime = ZonedDateTime.parse(lastUpdated, LAST_UPDATED_FORMATTER);
LocalDateTime localDateTime = zonedDateTime.withZoneSameInstant(ZoneId.of("UTC")).toLocalDateTime();
System.out.println(zonedDateTime.getOffset()); // +11:00; expected +1
System.out.println(localDateTime.toString());
Run Code Online (Sandbox Code Playgroud)
控制台输出:
+11:00
2021-09-27T07:29
Run Code Online (Sandbox Code Playgroud)
一旦使用 UTC 日期,一切就清楚了:
final String lastUpdated = "Mon Sep 27 18:29:00 BST 2021";
Run Code Online (Sandbox Code Playgroud)