在我们做web项目的时候有些需求需要我们定时每周每天执行什么任务,这里给大家介绍一种方式,我就直接贴代码
web.xml
com.hw.util.BeginRun
public class BeginRun implements ServletContextListener {
java.util.Timer timer = Time.getSingle();
//启动执行
public void contextInitialized(ServletContextEvent event) {
timer = new java.util.Timer(true);
//设置时间格式
try {
//设置从此刻时间开始 建议设置未来时间,不然项目启动的话就会先执行一次
DateFormat dateFormat2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
Date date2 = getThisWeekMonday(date);//获取下星期6的时间
if (date.getTime() >= date2.getTime()) {//如果当前时间不小于周六的时间,
Calendar cal = Calendar.getInstance();
cal.setTime(date2);
cal.add(Calendar.WEEK_OF_MONTH, +1);//周数加一
date2 = cal.getTime();
}
// date2 = dateFormat2. parse("2018-11-28