2011-12-02 4 views
1

이 날짜 "22/11/11"을 s라는 DateTime 객체로 구문 분석합니다. 내가 s.getDayOfMonth()를 할 때 그것은 나에게 22 옳다. 그러나 DateTime 객체를 Date 객체로 변환하고 s.toDate(). getDate()를 사용하여 날짜를 가져 오려고하면 24가 올바르게 반환되지 않습니다. 누군가 이런 일이 일어나는 이유를 알고 있습니까?DateTime (Joda Time)에서 Date (java.util) 로의 변환

+0

Pls가 관련 코드를 복사합니다. 또한 s.toDate()를 인쇄하면 무엇을 볼 수 있습니까? – leonbloy

답변

5

Joda-Time DateTime.toDate() 메서드는 밀리 초 단위로 java.util.Date으로 변환됩니다. java.util.Date.getDate() 메서드는 로컬 기본 표준 시간대를 사용하여 값을 반환하지만 DateTime.getDayOfMonth()DateTime 개체에 저장된 표준 시간대를 사용합니다. 두 시간대가 다른 경우, 22/24 관찰에 차이가 있음을 알 수 있습니다.

DateTime의 표준 시간대를 인쇄하고 java.util.Date이 사용하는 기본 Java 영역 TimeZone.getDefault()을 인쇄하십시오.