Java设置定时任务 package com.example.demo.tool;import java.util.Calendar;import java.util.Date;import java.util.Timer;/** * 任务管理 * @author admin_Hzw * */public class TimeTask { /** * @param args */ public static void main(Stri
Java设置定时任务
package com.example.demo.tool;import java.util.Calendar;import java.util.Date;import java.util.Timer;/** * 任务管理 * @author admin_Hzw * */public class TimeTask { /** * @param args */ public static void main(String[] args) { new TimeTask(); } /** * 时间间隔 1000是一秒 10*1000是10秒 */ private static final long PERIOD_DAY = 10 * 1000; public TimeTask() { Calendar calendar = Calendar.getInstance(); /** * 设置每天执行时间 */ /**小时*/ calendar.set(Calendar.HOUR_OF_DAY, 0); /**分钟*/ calendar.set(Calendar.MINUTE, 0); /**秒*/ calendar.set(Calendar.SECOND, 0); /**第一次执行定时任务的时间*/ Date date=calendar.getTime(); /** * 如果第一次执行定时任务的时间 小于当前的时间 * 此时要在 第一次执行定时任务的时间加一天,以便此任务在下个时间点执行。如果不加一天,任务会立即执行。 */ if (date.before(new Date())) { date = this.addDay(date, 0); } Timer timer = new Timer(); TimedTasks task = new TimedTasks(); //安排指定的任务在指定的时间开始进行重复的固定延迟执行。 timer.schedule(task,date,PERIOD_DAY); } /** * 增加或减少天数 * @param date * @param num * @return */ public Date addDay(Date date, int num) { Calendar startDT = Calendar.getInstance(); startDT.setTime(date); startDT.add(Calendar.DAY_OF_MONTH, num); return startDT.getTime(); }}package com.example.demo.tool;import java.util.TimerTask;/**定时任务*/public class TimedTasks extends TimerTask { @Override public void run() { System.out.println(”执行任务“); }}怎么在项目启动的时候开启定时任务 启动类
package com.example.demo;import com.example.demo.tool.TimeTask;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublic class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); /*启动定时任务*/ new TimeTask(); System.out.println("启动完成"); }}