java - 为什么 joda time 更新时间和偏移量,而 java time 不更新?

标签 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

最佳答案

时区与偏移量

您没有提供时区,仅提供了偏移日期时间和分区日期时间实例的偏移量。在这两种情况下,他们都没有任何关于夏令时的线索,因为这是时区的信息。

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

关于java - 为什么 joda time 更新时间和偏移量,而 java time 不更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38462306/

相关文章:

java - 如何在目录中搜索以String开头的文件

java - 使用 JODA 进行日期格式化 - AM 格式错误

java - 尝试转换 yyyy-MM-ddTHH :mm:ss-07:00 to correct time in Android

java - 如何在 Java-8 中显示普通纪元 ("CE")?

java - 如何在 RxJava 中将单个的输出传递给可完成的?

java - Apache CXF 方法中使用的时间单位

java - Joda api 不返回正确的伊斯兰日期

java - BST 时间错误

jsp - 在 JSP 中使用 Java8 时间

java - 使用java在mongodb中自动递增序列