我从总毫秒开始,我已将其转换为总分钟和总秒:
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);
关于Java - 将分钟和秒更改为时间格式? (毫米:ss),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27870116/