这是一个简短的片段,可将毫秒值转换为字符串格式的min-sec格式。
private String fromMillisecToFormattedTime(long millisec) {
return String.format("%d:%d",
TimeUnit.MILLISECONDS.toMinutes(millisec),
TimeUnit.MILLISECONDS.toSeconds(millisec),
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millisec))
);
}
我编写此代码以获取媒体的运行时间,但此方法显示的值不会返回我期望的值。例如,样本媒体的原始运行时间是4:12,而方法返回4:252。
任何纠正计算的解决方案?
答案 0 :(得分:1)
你需要减去这些值而不是追加它, 试试这个:
return String.format("%d:%d",
TimeUnit.MILLISECONDS.toMinutes(millisec),
TimeUnit.MILLISECONDS.toSeconds(millisec)- TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millisec))
);