如何在Android中通过时间将HH:MM:SS格式的计时器设置为textview?

SAn*_*idD 0 datetime android timer textview

我的当前日期格式为“ 2014-05-14T16:23:11.810Z ”,计数器日期为“ 2014-05-15T16:24:13.810Z

我想在HH:MM:SS中的那些日期之间( TextView中的24:01:02)显示计数器时间,该时间持续更新1秒。像计时器

但是如何计算这两个日期之间的差并将其转换为HH:MM:SS

我写了一个简单的代码,其中倒数计时器在android中以毫秒显示:

CountDownTimer timer=new CountDownTimer(300000, 1000) {
        public void onTick(long millisUntilFinished) {
            txtNewBetTimer.setText(""+millisUntilFinished / 1000);
        }

        public void onFinish() {
            txtNewBetTimer.setText("Time Up");
        }
    };
    timer.start();
Run Code Online (Sandbox Code Playgroud)

我想要这样的输出:

在此处输入图片说明

请任何人帮助我...

提前致谢..

Har*_*ana 7

// try this way,hope this will help you...

CountDownTimer timer=new CountDownTimer(300000, 1000) {
   public void onTick(long millisUntilFinished) {
        txtNewBetTimer.setText(""+String.format("%d:%d:%d",
        TimeUnit.MILLISECONDS.toHours(millisUntilFinished),
        TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished),
        TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) -
        TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.
        toMinutes(millisUntilFinished))));
   }

   public void onFinish() {
        txtNewBetTimer.setText("Time Up");
   }
};
timer.start();

Alternative way

CountDownTimer timer=new CountDownTimer(300000, 1000) {
   public void onTick(long millisUntilFinished) {
         int seconds = (int) (millisUntilFinished / 1000) % 60 ;
         int minutes = (int) ((millisUntilFinished / (1000*60)) % 60);
         int hours   = (int) ((millisUntilFinished / (1000*60*60)) % 24);
         txtNewBetTimer.setText(String.format("%d:%d:%d",hours,minutes,seconds));
   }
   public void onFinish() {
         txtNewBetTimer.setText("Time Up");
   }
};
timer.start();    
Run Code Online (Sandbox Code Playgroud)