我有一个音乐播放器,它有一个名为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
首先将毫秒转换为秒:
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);