2012-02-08 2 views
3

내가 나를에 전달 된 문자열에서 시간을 얻을 수있게된다 JodaTime 또는 유사한 무언가를 찾고 있어요자바 타이밍 도서관

내 문자열이 다음과 같이 표시됩니다. "0시 4분 23초"(HH : MM : SS) 다른 시간 단위로 쉽게 변환 할 수 있기를 바랍니다.

불행히도 Duration.parse()에서 JodaTime이 작동하지 않습니다. 이것을 할 수있는 또 다른 방법이 있습니까, 아니면 내 자신을 굴릴 필요가 있습니까?

같이 일부 실시 예 요청 :

  • 01:34:22 -> 1시간 34 분 22초
  • 00:04:23 -> 사분 및 23초
  • 00:00:46 -> 46초

자신을 굴리기는 쉽지만, 방금 누락 된 것이 있으면 호기심이 생겼습니다.

+0

일부 샘플 입력과 원하는 결과 또는 출력을 제공 할 수 있습니까? – Freiheit

+0

당신은 사람이 읽을 수있는 문자열을 원하지만 split, parse 및 sprintf를 사용하여 쉽게 만들 수있는 문자열을 원하십니까? –

답변

3
내가 JodaTime 여전히 꽤 새로운 해요

하지만 Duration로 변환 한 후 Period과를 얻을 PeriodFormatterBuilder를 사용하여 나를 위해 작동 듯 :

String input = "12:14:02"; 
ReadWritablePeriod period = new MutablePeriod(); 
new PeriodFormatterBuilder() 
     .appendHours().appendSeparator(":") 
     .appendMinutes().appendSeparator(":") 
     .appendSeconds().toParser().parseInto(period, input, 0, null); 

Duration duration = period.toPeriod().toStandardDuration(); 

을 잘 모르겠어요 무엇의 영향 null Locale 여기에 있습니다.

+0

이것은 정확히 내가 필요로했던 것입니다. – Scott