我从总毫秒开始,我将其转换为总分钟数和总秒数:
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吗?)
答案 0 :(得分:1)
可能使用字符串格式化程序。
formatter.format("%2d:%2d", minutes,seconds);