根据Cron表达式,通过Spring自带的CronSequenceGenerator类获取下次执行时间

Cron表达式通常用于执行一些定时任务,在本篇文章中,暂时不会记录如何根据Cron表达式来执行一些定时任务。本章主要的目的是根据Cron表达式,通过Spring自带的CronSequenceGenerator 类获取下次执行时间,因为有时在项目中,需要展示定时任务的上次执行时间、下次执行时间和下下次执行时间。下次执行时间和下下次执行时间可以通过代码来获取,至于上次执行时间就需要在定时任务执行时记录执行的时间,再在页面上显示。话不多数,下面的代码就是就是获取下次执行时间和下下次执行时间的代码。

String cron="0 0/10 * * * ? ";  //每10分钟执行一次
CronSequenceGenerator cronSequenceGenerator = new CronSequenceGenerator(cron);
Date currentTime = new Date();  //当前系统时间
Date nextTimePoint = cronSequenceGenerator.next(currentTime);   //下次执行时间
Date nextNextTimePoint = cronSequenceGenerator.next(nextTimePoint);  //下下次执行时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time=sdf.format(currentTime);
String nextTime=sdf.format(nextTimePoint);
String nextDoubleTme=sdf.format(nextNextTimePoint);
System.out.println("当前系统时间为:"+time);
System.out.println("下次执行时间为:"+nextTime);
System.out.println("下下次执行时间为:"+nextDoubleTme);

下面就是上面代码的输出结果

当前系统时间为:2018-05-13 22:32:12
下次执行时间为:2018-05-13 22:40:00
下下次执行时间为:2018-05-13 22:50:00
原文地址:https://www.cnblogs.com/hs2018/p/9033794.html