java Timer定时任务

long daySpan = 24 * 60 * 60 * 1000;
        //一天执行一次
        // 规定的每天时间14:30:00运行
        final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd '14:30:00'");
        // 首次运行时间
        Date startTime = null;

        try {
            startTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(sdf.format(new Date()));
        } catch (ParseException e) {
            e.printStackTrace();
        }


        // 如果今天的已经过了 首次运行时间就改为明天
        //if(System.currentTimeMillis() > startTime.getTime())
         //   startTime = new Date(startTime.getTime() + daySpan);

        Timer t = new Timer();

        TimerTask task = new TimerTask(){
            @Override
            public void run() {
                // 要执行的代码
                System.err.println("xxxxxxxxx");
            }
        };
        // 以每24小时执行一次

        t.scheduleAtFixedRate(task, startTime, daySpan);
t.scheduleAtFixedRate(task, startTime, daySpan); 

第一个参数是执行体TimeTask,第二个是开始时间,第三个是重复执行时间

猜你喜欢

转载自blog.csdn.net/weixin_38336658/article/details/80029835