时间(时间的获取,计时和循环计时)

1.最简单的计时

    new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {

        }
    }, 2000);

2.计时和循环

Runnable mRun;
Handler handler = new Handler();
private void setTimer2(){
    mRun = new Runnable() {
        @Override
        public void run() {
           //做的操作
        }
    };
    //想再次调用时可以调这个方法
    handler.postDelayed(mRun, 5000);
    //这个是注销这个计时
    handler.removeCallbacks(mRun);
}

3.计时和循环

 Timer timer;
private void setTimer3(){
    timer = new Timer(false);
    timer.schedule(new TimerTask() {
        //此方法是在子线程中执行的
        @Override
        public void run() {
            //更新时间
            //调回主页
            TimeActivity.this.runOnUiThread(new TimerTask() {
                @Override
                public void run() {
                    //取消定时任务和界面操作
                    timer.cancel();
                }
            });
        }
    }, 0, 1000);
}

4.获取当前时间的2中方法

private void getData1(){
      SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
    // HH:mm:ss获取当前时间
    Date date = new Date(System.currentTimeMillis());
    tvTime.setText("Date获取当前日期时间:::"+simpleDateFormat.format(date));

}
private void getData2(){
    Time mTime=new Time();
    mTime.setToNow(); // 取得系统时间。
    int year = mTime.year;
    int month = mTime.month+1;
    int day = mTime.monthDay;
    int hour = mTime.hour;
    int minute = mTime.minute;
    int second = mTime.second;
    tvTime2.setText("获取当前日期:"+year+"年"+month+"月"+day+"月\n                         "+hour+"时:"+minute+"分:"+second+"秒");


}

你可能感兴趣的:(时间(时间的获取,计时和循环计时))