关于android:Java – 将Minutes和Seconds更改为时间格式?(MM:SS)

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

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

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

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

谢谢!

编辑:我已经尝试过使用SimpleDateFormat,但它会在时区显示错误的时间,相差半小时而不是整整一小时。 (即:如果时区是格林威治标准时间+5:30且项目持续时间是5秒,应用程序将显示30:05而不是00:05)..但是它适用于其他时区相差一小时 ,例如GMT + 5。

除非我在使用SimpleDateFormat做错了什么?

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

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


可能用字符串格式化程序来做。

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