在 Java 8 中运行以下代码时,解析字符串“ 2021-03-26T23:43:03+01:00[Europe/London]
”产生的 Instant 为“ 2021-03-26T23:43:03Z
”
(这 afaik 是正确的,因为 2021 年 DST 于 3 月 28 日开始生效,所以伦敦时间 26 日和 UCT 应该仍然匹配)
但是,当在 Java >=9 中运行相同的代码时,结果日期相差一小时:“2021-03-26T22:43:03Z”
这是一个错误,还是我在这里失踪了?我对 Java 比较陌生。
public void giveMeDate(){
ZonedDateTime dateTime = ZonedDateTime.parse("2021-03-26T23:43:03+01:00[Europe/London]", DateTimeFormatter.ISO_DATE_TIME);
System.out.println(dateTime.toInstant());
}