2009-12-14 5 views
2

저는 신입생 입니다. joda-time 및 몇 가지 간단한 작업을 수행 할 예제를 찾지 못했습니다.java.sql.Time에서 jodatime LocalDate를 생성하십시오.

데이터베이스의 테이블에서 읽은 시간 값을 저장할 위치를 개체로 만들고 싶습니다. (java.sql.Time - 예 : "18:30:00") 시간대는 상관 없으므로 LocalDate이 필요하다고 생각합니다. 그러나 문제는 해당 Time 개체를 기반으로 LocalDate 개체를 만들 수 없다는 것입니다.

나는 성공하지 못했습니다. LocalDate.fromDateFields(), DateTimeParser.parseInto(), DateTimeParser.parseDateTime().

편집 : LocalTime을 사용해야합니다. 이 작업 :

java.sql.Time time = Time.valueOf("18:30:00"); 
LocalTime lt1 = LocalTime.fromDateFields(time); 
LocalTime lt2 = new LocalTime(time); 
+0

'org.joda.time.LocalDate'는 날짜를 나타내고, java.sql.Time은 시간을 나타냅니다. 그 의미있는 전환으로 기대되는 전환점은 무엇입니까? – skaffman

+0

'YearMonthDay'와'TimeOfDay'는 모든 datetime 필드 (부분)가 필요하지 않은 클래스입니다. 그러나 내가 그들을 사용하기를 원했을 때, 비추천이었고'LocalDate'와'LocalTime'을 사용한다고했습니다. 이제'LocalTime'을 사용해야한다는 것을 알았습니다. 그러나 이것도 함께 작동하지 않습니다. –

+0

어떻게 다른 하나가 주위에 갈 것입니다. fm LocalTime을 sql 시간으로 변환하려고 시도하지만 localTime의 getMillis() * 함수가 int를 반환합니다. 나는 DateTime을 통해 그것을 왕복하는 것을 무효로하고 싶다. –

답변

4

the documentation에 따르면, 당신이 유일한 생성자 인수로에게 java.util.Date를 전달하여 직접 LOCALDATE를 구성 할 수 있어야한다. 반면에

System.out.println(new LocalDate(Time.valueOf("18:30:00"))); 

이 할 수있는 의미있는 일이 아니다 :을 java.sql.Time은 java.util.Date를 확장하기 때문에, 당신은

final LocalDate ld = new LocalDate(mySqlTime); 

할 수 있어야합니다 이것은 나를 위해 작동 , 왜냐하면 당신은 항상 1970 년 1 월 1 일을 얻을 것이기 때문입니다. 그러나 당신이하는 일을 당신이 알고 있다고 상상합니다.

+0

'LocalDate ld = new LocalDate (Time.valueOf ("18:30:00"));'그리고'java.lang.UnsupportedOperationException'을줍니다. –

+0

그것은 저에게 효과적입니다. –

+0

'LocalTime'을 사용해야했습니다. 나는 나의 질문을 편집했다. –

관련 문제