0

我从总毫秒数开始,我已将其转换为总分钟数和总秒数:

long minutes = TimeUnit.MILLISECONDS.toMinutes(itemDuration);
long seconds = TimeUnit.MILLISECONDS.toSeconds(itemDuration)
     - TimeUnit.MINUTES.toSeconds(minutes);

现在我想以 mm:ss 格式显示分钟和秒(如果偶尔有小时,则转换为 hh:mm:ss 格式)。我该怎么做呢?

谢谢!

编辑:我尝试过使用 SimpleDateFormat,但是它会在时区显示错误的时间,半小时与一小时的差异。(即:如果时区为 GMT +5:30 并且项目持续时间为 5 秒,则应用程序将显示 30:05 而不是 00:05).. 但是对于相差一小时的其他时区,它可以正常工作,例如 GMT+5。

除非我对 SimpleDateFormat 做错了什么?

private static final SimpleDateFormat mLengthFormatter = new SimpleDateFormat("mm:ss", Locale.getDefault());

(另外,出于好奇,如果我使用 SimpleDateFormat,并且分钟数大于 2 位,那么会发生什么?它会在 99 时达到最大值吗?)

4

1 回答 1

1

可能可以使用字符串格式化程序来完成。

formatter.format("%2d:%2d", minutes,seconds);
于 2015-01-09T22:44:24.073 回答