Java - 将Minutes和Seconds更改为时间格式? (MM:SS)

时间:2015-01-09 22:15:13

标签: java android time seconds timeunit

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

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做错了什么?

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

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

1 个答案:

答案 0 :(得分:1)

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

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