统计Spring定时任务当天执行次数
0
以下代码为统计Spring定时任务当天执行的次数:
/**
* 定时任务统计
*/
public class CronCountUtils {
/**
* 计算一天内定时任务执行次数
* @param expression 表达式
* @return 执行次数
*/
public static final int count(String expression) {
return count(null, expression);
}
/**
* 计算一天内定时任务执行次数
* @param date 时间
* @param expression 表达式
* @return 执行次数
*/
public static final int count(Date date, String expression) {
CronSequenceGenerator generator = new CronSequenceGenerator(expression, TimeZone.getDefault());
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
if(date == null)
date = calendar.getTime();
int today = calendar.get(Calendar.DATE);
int now = today;
int count = 0;
while(true) {
date = generator.next(date);
calendar.setTime(date);
now = calendar.get(Calendar.DATE);
if(now == today) {
count++;
} else {
break;
}
}
return count;
}
public static void main(String[] args) {
System.out.println(count("0 0/40 06-07 * * ?"));
}
}
判断是否是当天最后一次执行地址:http://www.acgist.com/article/354.html