2016-07-19 7 views
0

joda 시간이 일광 절약 시간 이후에 시간과 오프셋 시간을 업데이트하는 이유를 알 수 없지만 자바 시간은 아닙니다.joda 시간이 자바 시간이 맞지 않는 이유는 무엇입니까?

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 
+0

아마도 java8 jsr310 구현이 yoda 시간에 가까울 수 있지만 정확히 같은 것은 아니기 때문일 수 있습니까? 두 사람 사이에는 미묘한 차이가 있습니다. 아마 그 중 하나가 될 것입니다. – GhostCat

+2

다음과 같을 것입니다. 시간대를 제공하지 않았으며 두 오프셋, 오프셋 날짜 시간 및 구역화 된 날짜 시간 인스턴스를 제공하지 않았습니다. 두 경우 모두 일광 절약 시간에 대한 단서가 없습니다. 아마도, 존 지정 날짜 시간 오브젝트를 생성 할 때 시간대를 제공해야하며 예상대로 작동 할 수 있습니다. – Seelenvirtuose

+0

@Seelenvirtuose 감사합니다. 그것이 문제였습니다. – Jon

답변

1

당신은 단지 모두, 타임 존 오프셋 (offset)를 제공하지 않았다 오프셋 날짜 시간과 지역으로 구분 날짜 시간 인스턴스. 두 경우 모두 일광 절약 시간제에 대한 단서가 없기 때문에 표준 시간대의 정보입니다.

따라서 구역화 된 날짜 시간 개체를 구성 할 때 표준 시간대를 제공해야하며 예상대로 작동합니다.