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

时间:2012-05-31 08:22:40

标签: jodatime duration

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

2 个答案:

答案 0 :(得分:31)

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

答案 1 :(得分: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);

这会给你02:07