27

我有持续时间为 127 秒的电影。我想将其显示为02:07. 实现这一点的最佳方法是什么?

4

2 回答 2

32
Duration yourDuration = //...
Period period = yourDuration.toPeriod();
PeriodFormatter minutesAndSeconds = new PeriodFormatterBuilder()
     .printZeroAlways()
     .appendMinutes()
     .appendSeparator(":")
     .appendSeconds()
     .toFormatter();
String result = minutesAndSeconds.print(period);
于 2012-06-01T17:14:23.333 回答
26

我自己想要这个,但我没有发现 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

于 2015-02-24T08:47:52.817 回答