HH:MM:SS 格式 android 工作室 CountdownTimer

HH:MM:SS format android studio CountdownTimer

我一直在尝试格式化倒数计时器,但没有取得太大成功。计时器倒计时正确的 minutes/hours/seconds 数量作为输入,但是,在输出回用户而不是漂亮的正常倒计时计时器外观时,我得到以下不同的输出: When attempting to countdown from 25 minutes

当我尝试从 25 分钟开始倒计时时,当我尝试从 10 分钟开始倒计时时,下面是: 10 minutes 任何 1 分钟或更短的时间似乎都能正确倒计时。

这是我必须格式化输出的代码,我还包含了它所在的 CounterClass 的代码。

private class CounterClass extends CountDownTimer {
    public CounterClass(long millisInFuture, long countDownInterval) {
        super(millisInFuture, countDownInterval);
    }

    @Override
    public void onTick(long millisUntilFinished) {
        String hms = String.format("%02d:%02d:%02d",
                TimeUnit.MILLISECONDS.toHours(millisUntilFinished),
                TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished),
                TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished));

        timeDisp.setText(hms);
    }
}

提前致谢!

this answer

所述

您可以通过以下方式获取小时数:

int hours   = (int) ((millisUntilFinished / (1000*60*60)) % 24);

请注意,您可以通过这样做来计算任何给定的分钟数:

_tv.setText(""+String.format("%d min, %d sec", 
                TimeUnit.MILLISECONDS.toMinutes( millisUntilFinished),
                TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) - 
                TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished))));