我有一个音乐播放器,它有一个名为getcurrentposn
的函数,以毫秒为单位返回当前位置,我想以这种格式mm:ss
在TextView中显示结果。
我制作了一个getAsTime
函数,它以数字形式返回我的应用中的时间,即mm:ss
。
这就是我的尝试:
long minutes = TimeUnit.MILLISECONDS.toMinutes(millis);
long seconds = minutes * 60;
if(millis!=0) {
long totalSeconds = TimeUnit.MILLISECONDS.toSeconds(millis);
if(seconds!=0)
seconds = totalSeconds / seconds;
else seconds=totalSeconds;
}
if(minutes<10 && seconds <10)
return "0"+minutes + ":" +"0"+ seconds;
if(minutes<10 && seconds>=10)
return "0"+minutes + ":" + seconds;
if(minutes>=10 && seconds<10)
return minutes + ":" +"0"+ seconds;
return minutes+":"+seconds;
}
但问题似乎并不正常。
是否有内置功能?如果不是我如何以正确的方式实现它?
示例:01:00
02:09
答案 0 :(得分:2)
首先将毫秒转换为秒:
int t = millis / 1000;
然后将它们转换为分钟和秒钟
int minutes = t / 60; //since both are ints, you get an int
int seconds = t % 60;
然后返回一个格式化的字符串,如你想要的那样添加填充
return String.format("%02d:%02d", minutes, seconds);