2011-01-06 5 views
11

이벤트의 지속 시간을 나타내는 필드가 필드에 있습니다. 이벤트는 지난 15 분간 진행됩니다. 그것은 1 시간 지속하는 경우 0시 15분 을 : 그래서 필드는 다음과 같은 값을가집니다 1시 등을문자열 HH : MM을 Joda 기간으로 변환하는 방법?

내가 문자열과 Joda-Time Duration 개체를 만들 수있는 방법

"HH : MM를?"

Joda-Time 홈페이지를 보면 ConverterManager와 DurationConverter를 각각 사용하여 지정된 개체에서 Duration 개체를 만들 수 있음을 언급합니다.

제 질문은 위의 인터페이스를 구현하여 "4:30"매개 변수를 전달하여 Duration 개체를 만들 수 있습니까?

PeriodFormatter hoursMinutes= new PeriodFormatterBuilder() 
    .appendHours() 
    .appendSeparator(":") 
    .appendMinutes() 
    .toFormatter(); 

그런 다음 Period 객체로 문자열을 구문 분석 할 수 및에 toStandardDuration() 전화 : 사전에

감사합니다,

루카스는

답변

16

나는 더 좋은 방법은 다음과 같이 PeriodFormatterBuilder을 사용하는 것입니다 생각 그것들은 - 또는 Period으로 작업을 계속하십시오. 왜냐하면 그것이 당신의 유스 케이스에 더 잘 어울리는 것 같기 때문입니다.

+0

답장을 보내 주셔서 감사합니다. 매개 변수를 전달하는 방법을 이렇게 부릅니다 : HH : mm? –

+1

@ 루카스 : 그렇지 않을 것입니다. API는 패턴 문자열이 아닌 빌더 디자인 패턴을 기반으로합니다. 내가 사용하는 코드는 HH : mm 패턴 문자열과 동일합니다. –

+2

일단 포맷터가 있으면 formatter.parsePeriod ("00:15")를 호출하여 기간 오브젝트를 얻습니다. - http://joda-time.sourceforge.net/api-release/org/joda/time/format/PeriodFormatter .html – JodaStephen

관련 문제