1

在 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());
  }
4

0 回答 0