【问题标题】:HH:MM:SS format android studio CountdownTimerHH:MM:SS 格式 android studio CountdownTimer
【发布时间】:2016-04-18 17:55:37
【问题描述】:

我一直在尝试格式化倒数计时器,但没有取得多大成功。计时器将正确的分钟/小时/秒数作为输入倒计时,但是,在输出回用户而不是漂亮的正常倒计时计时器外观时,我得到以下不同的输出: 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);
    }
}

提前致谢!

【问题讨论】:

    标签: java android android-studio countdowntimer


    【解决方案1】:

    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))));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-09
      • 1970-01-01
      • 2021-09-21
      • 2013-01-04
      • 1970-01-01
      • 2011-10-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多