Java Timing Library - PullRequest
       6

Java Timing Library

3 голосов
/ 08 февраля 2012

Я ищу что-то в JodaTime или аналогичном, которое позволило бы мне получить Duration из переданной строки.

Моя строка будет выглядеть так: "00:04:23" (ЧЧ: ММ:SS) Я хотел бы иметь возможность легко преобразовать эти единицы в другие единицы времени.

К сожалению Duration.parse () из JodaTime не работает.Есть ли другой метод, который бы сделал это, или мне нужно накатить свой собственный?

Как просили несколько примеров:

  • 01:34:22 -> 1 час 34 минуты и 22 секунды
  • 00:04:23 -> 4 минуты и 23 секунды
  • 00:00:46 -> 46 секунд

Легко катиться самостоятельно, но было любопытно, если быловстроенный для того, чего мне просто не хватало.

1 Ответ

3 голосов
/ 08 февраля 2012

Я все еще довольно новичок в JodaTime, но мне показалось, что использование PeriodFormatterBuilder для получения Period и последующее преобразование его в Duration:

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();

Я не уверен, какое влияние ноль Locale здесь.

...