自定义任务执行周期示例
import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import com.runqianapp.schedule.interfaces.ICycle;
/**
* 自定义周期类需要实现ICycle接口的getNextTime方法,对任务中添加的首次执行时间进行计算,得到任务自此执行时间。
* 调度器示例:每月一号执行任务
* @author DYC
*
*/
public class MonthBeginCycle implements ICycle {
/**
* 获取任务下次执行时间
*/
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,1);//当前月份加1个月
c.set(c.DAY_OF_MONTH,1);//设置为1号
} catch (ParseException e) {
e.printStackTrace();
}
return new Timestamp(c.getTimeInMillis());//返回任务下次执行时间
}
}