Преобразование длительности JodaTime в строку

У меня есть фильм длительностью 127 секунд. Я хочу показать его как 02:07. Каков наилучший способ реализовать это?

Ответ 1

Duration yourDuration = //...
Period period = yourDuration.toPeriod();
PeriodFormatter minutesAndSeconds = new PeriodFormatterBuilder()
     .printZeroAlways()
     .appendMinutes()
     .appendSeparator(":")
     .appendSeconds()
     .toFormatter();
String result = minutesAndSeconds.print(period);

Ответ 2

Я хотел это для себя, и я не нашел, чтобы лля ответил, чтобы быть точным. Я хочу иметь счетчик, и когда у меня было 0 часов и 1 минута, я получил 0:1 с его ответом, но это легко фиксируется с помощью одной строки кода!

Period p = time.toPeriod();
PeriodFormatter hm = new PeriodFormatterBuilder()
    .printZeroAlways()
    .minimumPrintedDigits(2) // gives the '01'
    .appendHours()
    .appendSeparator(":")
    .appendMinutes()
    .toFormatter();
String result = hm.print(p);

Это даст вам 02:07!