为什么joda时间更新时间和偏移当java时间没有?

时间:2016-07-19 15:07:55

标签: java jodatime java-time jsr310

我似乎无法弄清楚为什么joda时间会更新夏令时之后的时间和偏移小时数,但是java时间并没有。

    DateTime dateTime = new DateTime("2016-04-05T10:06:21.636-05:00").withDayOfWeek(5);

    TemporalField dayOfWeek = WeekFields.ISO.dayOfWeek();
    OffsetDateTime offsetDateTime = OffsetDateTime.parse("2016-04-05T10:06:21.636-05:00").with(dayOfWeek, 5);
    ZonedDateTime zonedDateTime = ZonedDateTime.parse("2016-04-05T10:06:21.636-05:00").with(dayOfWeek, 5);

    System.out.println("dateTime:         " + dateTime); // 2016-04-08T11:06:21.636-04:00
    System.out.println("offsetDateTime:   " + offsetDateTime); // 2016-04-08T10:06:21.636-05:00
    System.out.println("zonedDateTime:    " + zonedDateTime); // 2016-04-08T10:06:21.636-05:00

1 个答案:

答案 0 :(得分:1)

您没有提供时区,只有偏移日期时间和分区日期时间实例的偏移量。在这两种情况下,他们都不知道夏令时,因为这是时区的信息。

因此,您必须在构建分区日期时间对象时提供时区,然后它会按预期工作。

相关问题