Java android中倒计时计时器显示时间时出错

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

我想开发一个倒计时应用程序。为此,我在xml文件中有一个textview。我已经在.java文件中编写了以下代码

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 ;