Java android中倒计时计时器显示时间时出错
我想开发一个倒计时应用程序。为此,我在xml文件中有一个textview。我已经在.java文件中编写了以下代码Java android中倒计时计时器显示时间时出错,java,android,timer,Java,Android,Timer,我想开发一个倒计时应用程序。为此,我在xml文件中有一个textview。我已经在.java文件中编写了以下代码 private class santimer extends CountDownTimer { public santimer(long millisInFuture, long countDownInterval) { super(millisInFuture, countDownInterval); // TODO
private class santimer extends CountDownTimer {
public santimer(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
// TODO Auto-generated constructor stub
}
void set_text_view()
{
try {
SimpleDateFormat df = new SimpleDateFormat("hh:mm:ss_yyyy.MM.dd");
Date date1 = new java.util.Date();
Date date2 = df.parse("00:00:00_2013.11.24");
long diff = date2.getTime() - date1.getTime();
long day = diff/(1000 * 60 * 60 * 24);
long hours = diff - day * (1000 * 60 * 60 * 24);
diff = diff/(1000 * 60 * 60 * 24);
text.setText("Time remain:"+ day +" day and " + hours+" hours");
Log.e("TEST" , date1.getTime() + " - " + date2.getTime() + " - " + diff);
} catch (ParseException e) {
Log.e("TEST", "Exception", e);
} catch (java.text.ParseException e) {
// TODO Auto-generated catch block
Log.e("TEST", "Exception", e);
}
}
@Override
public void onFinish() {
// TODO Auto-generated method stub
text.setText("Time's up!");
time_eplapsed.setText("Time Elapsed: " + String.valueOf(startTime));
}
@Override
public void onTick(long millisUntilFinished) {
// TODO Auto-generated method stub
text.setText("Time remain:" + millisUntilFinished);
timeElapsed = startTime - millisUntilFinished;
time_eplapsed.setText("Time Elapsed: "
+ String.valueOf(timeElapsed));
set_text_view();
}
}
为此,我有以下输出:
这里的天数是正确的,但小时数是不正确的。我不明白我能做什么?我想显示天数、小时数、分钟数和秒数。请帮我做这个
long hours = diff / (1000 * 60 * 60) % 24 ;