以数字形式获得持续时间

问题描述 投票:-1回答:1

我有一个音乐播放器,它有一个名为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

java android
1个回答
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);
© www.soinside.com 2019 - 2024. All rights reserved.