自定义周期-月底
自定义周期需要实现Icycle任务周期循环接口的getNextTime方法,计算任务的下次执行时间。
此自定义周期实现类实现了每月最后一天定时执行调度任务。
public class MonthEndCycle implements ICycle {
/**
* 获取任务下次执行时间
* currTime:本次执行时间
*/
public Timestamp getNextTime(String currTime) { //获取每月最后一天
SimpleDateFormat f1=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Calendar c = Calendar.getInstance();
try {
c.setTime(f1.parse(currTime));
c.add(c.MONTH,2);//加两个月
c.set(c.DAY_OF_MONTH,1);//设置为1号
c.add(c.DAY_OF_MONTH,-1);//减1天;
} catch (ParseException e) {
e.printStackTrace();
}
return new Timestamp(c.getTimeInMillis()); //返回任务下次执行时间
}
}
说明:上述只列出了用例实现的部分代码,详细代码请参考集成和应用程序接口demo实现/调度管理接口demo/MonthEndCycle.java。