android 计时器或倒计时

来源:互联网 发布:中森茗苑网易房产数据 编辑:程序博客网 时间:2024/06/06 15:00

下面代码,只是实现了计时的效果,倒计时根据下面的代码轻微的改动即可


/** * ClassName: TimeCountDownUtils * Description TODO 实现年月日时分秒倒计时 * Created by BAI * Data 2017-07-12. */public class TimeCountDownUtils {    int year = 0;//年    int month = 0;//月    int day = 0;//日    int hour = 0;//时    int minutes = 0;//分    int second = 0;//秒    private Handler mHandler = null;    /**     * yyyy-MM-dd HH:mm:ss     * @param handler     * @param time     */    public TimeCountDownUtils(Handler handler,String time) {        mHandler = handler;        String ymd = time.split(" ")[0];        String hms = time.split(" ")[1];        year = Integer.parseInt(ymd.split("-")[0]);//年        month = Integer.parseInt(ymd.split("-")[1]);//月        day = Integer.parseInt(ymd.split("-")[2]);//日        hour = Integer.parseInt(hms.split(":")[0]);//时        minutes = Integer.parseInt(hms.split(":")[1]);//分        second = Integer.parseInt(hms.split(":")[2]);//秒        handler.postDelayed(runnable, 1000);    }    Runnable runnable = new Runnable() {        @Override        public void run() {            second ++;            if (second >= 60) {                second =0;                minutes+=1;                if (minutes >= 60) {                    minutes =0;                    hour+=1;                    if (hour >= 24) {                        hour =0;                        day+=1;                    }                }            }            String time = getResultTimeString();            Message msg = new Message();            msg.obj = time;            msg.what = 0x0001;            mHandler.sendMessage(msg);            mHandler.postDelayed(this, 1000);        }    };    public String getResultTimeString(){        String resultTime = "";        String yea = year+"";        String mon = getFormatInt(month);        String da = getFormatInt(day);        String hou =getFormatInt(hour);        String minu =getFormatInt(minutes);        String secon =getFormatInt(second);        //resultTime = yea+"-"+mon+"-"+da+" "+hou+":"+minu+":"+secon;        resultTime =hou+":"+minu+":"+secon;        return  resultTime;    }    private String getFormatInt(int time){        String result = "";        if(time<10){            result = "0"+time;        }else{            result = ""+time;        }        return result;    }}