Java - 将分钟和秒更改为时间格式? (mm:ss)

Java - change Minutes and Seconds to time format? (mm:ss)

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

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 时达到最大值吗?)

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

formatter.format("%2d:%2d", minutes,seconds);