我在MP Android中调用getDuration()
方法。它返回ms值。
例如267180
。该值等于04:27
。
问题:如何以编程方式将267180
转换为04:27
?
谢谢。
答案 0 :(得分:0)
在Android上,您可以使用TimeUnit函数将毫秒转换为例如几秒钟或几分钟就容易理解了。
import java.util.concurrent.TimeUnit;
@Test
public void testFormatDuration() throws Exception {
assertEquals("00:00", formatDuration(0));
assertEquals("04:27", formatDuration(267180));
assertEquals("01:00", formatDuration(60000));
assertEquals("10:00", formatDuration(600000));
}
private String formatDuration(long duration) {
long minutes = TimeUnit.MINUTES.convert(duration, TimeUnit.MILLISECONDS);
long seconds = TimeUnit.SECONDS.convert(duration, TimeUnit.MILLISECONDS)
- minutes * TimeUnit.SECONDS.convert(1, TimeUnit.MINUTES);
return String.format("%02d:%02d", minutes, seconds);
}