将JodaTime持续时间转换为字符串

fed*_*lov 26 duration jodatime

我的电影持续时间为127秒.我想把它显示为02:07.实现这个的最佳方法是什么?

Ily*_*lya 32

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


Yok*_*ich 24

我自己想要这个,我没有找到llyas回答是准确的.我想要一个计数器,当我有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);
Run Code Online (Sandbox Code Playgroud)

这会给你的02:07!