倒数计时器,具体是日期和时间

时间:2016-12-20 04:51:07

标签: java android timer countdown

    txtTimerDay = (TextView) findViewById(R.id.txtTimerDay);
    txtTimerHour = (TextView) findViewById(R.id.txtTimerHour);
    txtTimerMinute = (TextView) findViewById(R.id.txtTimerMinute);
    txtTimerSecond = (TextView) findViewById(R.id.txtTimerSecond);
    tvEvent = (TextView) findViewById(R.id.tvhappyevent);

    countDownStart();
}

public void countDownStart() {
    handler = new Handler();
    runnable = new Runnable() {
        @Override
        public void run() {
            handler.postDelayed(this, 1000);
            try {
                SimpleDateFormat dateFormat = new SimpleDateFormat(
                        "yyyy-MM-dd");
                // Please here set your event date//YYYY-MM-DD
                Date futureDate = dateFormat.parse("2017-03-18");
                Date currentDate = new Date();
                if (!currentDate.after(futureDate)) {
                    long diff = futureDate.getTime()
                            - currentDate.getTime();
                    long days = diff / (24 * 60 * 60 * 1000);
                    diff -= days * (24 * 60 * 60 * 1000);
                    long hours = diff / (60 * 60 * 1000);
                    diff -= hours * (60 * 60 * 1000);
                    long minutes = diff / (60 * 1000);
                    diff -= minutes * (60 * 1000);
                    long seconds = diff / 1000;

好的......这是我的问题......目前在此代码中......输出包括布局和更多行...... 将生成一个正确的计时器朝向3月18日......但是......我需要计时器在3月18日晚上20点30分倒计时..任何帮助将不胜感激,请容忍我..我是这个网站的新人

1 个答案:

答案 0 :(得分:1)

import java.util.Date;
import java.util.Calendar;

public class cal {
public static int SECONDS_IN_A_DAY = 24 * 60 * 60;
public static void main(String[] args) {
    Calendar thatDay = Calendar.getInstance();
    thatDay.setTime(new Date(0)); /* reset */
    thatDay.set(Calender.HOUR_OF_DAY,2);/*here Add ur Time */
    thatDay.set(Calendar.DAY_OF_MONTH,1);
    thatDay.set(Calendar.MONTH,0); // 0-11 so 1 less
    thatDay.set(Calendar.YEAR, 2014);

    Calendar today = Calendar.getInstance();
    long diff =  thatDay.getTimeInMillis() - today.getTimeInMillis(); 
    long diffSec = diff / 1000;

    long days = diffSec / SECONDS_IN_A_DAY;
    long secondsDay = diffSec % SECONDS_IN_A_DAY;
    long seconds = secondsDay % 60;
    long minutes = (secondsDay / 60) % 60;
    long hours = (secondsDay / 3600); // % 24 not needed

    System.out.printf("%d days, %d hours, %d minutes and %d seconds\n", days, hours, minutes, seconds);
}
}

尝试使用日历它将有助于设置您的时间和日期尝试....不要忘记接受目标是否已完成