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