Android 如何在我的应用程序中使用倒计时
在我的应用程序中,我想根据系统时间和我的时间使用倒计时。如果我的时间是14:30:30,系统时间是14:00:00,那么如何在我的应用程序中设置30分钟计时器 这是我试过的代码Android 如何在我的应用程序中使用倒计时,android,countdowntimer,Android,Countdowntimer,在我的应用程序中,我想根据系统时间和我的时间使用倒计时。如果我的时间是14:30:30,系统时间是14:00:00,那么如何在我的应用程序中设置30分钟计时器 这是我试过的代码 try { Date1 = dateFormat.parse(curranttime); } catch (ParseException e) { e.printStackTrace(); } try { Date2 = dateFormat.parse(
try {
Date1 = dateFormat.parse(curranttime);
} catch (ParseException e) {
e.printStackTrace();
}
try {
Date2 = dateFormat.parse(mytime);
} catch (ParseException e) {
e.printStackTrace();
}
long mills = Date1.getTime() - Date2.getTime();
int Hours = (int) (mills / (1000 * 60 * 60));
int Mins = (int) (mills / (1000 * 60)) % 60;
Log.e("Mins",Mins+"");
CountDownTimer countDownTimer = new CountDownTimer(mills, 1000) {
public void onTick(long millisUntilFinished) {
long millis = millisUntilFinished;
//Convert milliseconds into hour,minute and seconds
String hms = String.format("%02d:%02d:%02d",
TimeUnit.MILLISECONDS.toHours(millis),
TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)),
TimeUnit.MILLISECONDS.toSeconds(millis) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));
holder.txtTime.setText(hms);//set text
}
public void onFinish() {
holder.txtTime.setText("00:00"); //On finish change timer text
}
}.start();
注意:我在适配器中使用了CountDownTimer
try {
Date1 = dateFormat.parse(curranttime);
} catch (ParseException e) {
e.printStackTrace();
}
try {
Date2 = dateFormat.parse(mytime);
} catch (ParseException e) {
e.printStackTrace();
}
long mills = Date2.getTime() - Date1.getTime();
int Hours = (int) (mills / (1000 * 60 * 60));
int Mins = (int) (mills / (1000 * 60)) % 60;
Log.e("Mins",Mins+"");
CountDownTimer countDownTimer = new CountDownTimer(mills, 1000) {
public void onTick(long millisUntilFinished) {
long millis = millisUntilFinished;
//Convert milliseconds into hour,minute and seconds
String hms = String.format("%02d:%02d:%02d",
TimeUnit.MILLISECONDS.toHours(millis),
TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)),
TimeUnit.MILLISECONDS.toSeconds(millis) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));
holder.txtTime.setText(hms);//set text
}
public void onFinish() {
holder.txtTime.setText("00:00"); //On finish change timer text
}
}.start();
我可以从系统时间中减去我的时间。实际上,将系统时间减去我的时间,这就是工作嗨,Sorathiya,我不确定问题是什么,但首先我认为你已经颠倒了时间计算。是不是应该是Date2-Date1?谢谢@Daniel Persson这是工作,非常感谢。