**
java创建定时器
**
代码+注释
package com.lst.test;
import com.lst.run.MonitoringVideoDowload;
import lombok.SneakyThrows;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
import java.lang.reflect.Method;
import static com.lst.utils.CommonUtils.MonitoringVideoDowload;
/**
* @AUTHOR ()
*
*/
public class TestTimer {
static int count = 0;
public static void showTimer() {
Timer timer = new Timer();
TimerTask task = new TimerTask() {
@SneakyThrows
@Override
public void run() {
Calendar now = Calendar.getInstance();
int hh = now.get(Calendar.HOUR_OF_DAY);
int mm = now.get(Calendar.MINUTE);
if (hh < 10 && hh>17) {
++count;
System.out.println("时间=" + new Date() + " 执行了" + count + "次"); // 1次
} else {
// timer.cancel();// 停止定时器
System.out.println("时间已过明天继续下载"
);
}
// System.out.println("时:" + now.get(Calendar.HOUR_OF_DAY));
// System.out.println("分:" + now.get(Calendar.MINUTE));
// System.out.println("秒:" + now.get(Calendar.SECOND));
}
};
//设置执行时间
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);//每天
//定制每天的什么时间执行程序,
calendar.set(year, month, day, 6, 10, 00);
Date date = calendar.getTime();
// Timer timer = new Timer();
System.out.println(date);
// int period = 54 * 100000;
int period = 2 * 1000;
//每天的date时刻执行task,每隔2秒重复执行
timer.schedule(task, date, period);
//每天的date时刻执行task, 仅执行一次
// timer.schedule(task, date);
}
public static void main(String[] args) {
showTimer();
}
}
本文介绍了一个使用Java实现的定时任务示例。通过创建Timer对象并结合Calendar设置具体执行时间,实现了每天特定时间启动的任务,并每两秒重复执行的功能。代码中还包括了条件判断来决定是否继续执行任务。
1577

被折叠的 条评论
为什么被折叠?



