java quartz 计算近20次执行时间

Posted 花开浪漫拾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java quartz 计算近20次执行时间相关的知识,希望对你有一定的参考价值。

    /**
     * 
     * @desc 计算表达式近20次时间
     * @auth josnow
     * @date 2017年5月31日 下午12:16:25
     * @param cron
     * @return
     */
    public static List<String> seeExcuteTime(String cron) throws ParseException, IllegalArgumentException {
        if (StringUtils.isEmpty(cron)) {
            throw new IllegalArgumentException("参数不能为空");
        }

        CronSequenceGenerator cronSequenceGenerator = new CronSequenceGenerator(cron);


        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        List<String> list = new ArrayList<>(20);

        Date nextTimePoint = new Date();
        for (int i = 0; i < 20; i++) {
            // 计算下次时间点的开始时间
            nextTimePoint = cronSequenceGenerator.next(nextTimePoint);
            list.add(sdf.format(nextTimePoint));
        }
        return list;
    }

    public static void main(String[] args) throws Exception {
        List<String> list = seeExcuteTime("0 0 * * * ?");
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
    }

 

以上是关于java quartz 计算近20次执行时间的主要内容,如果未能解决你的问题,请参考以下文章

JAVA进程与线程

用java的Quartz包定时调用方法,我想实现每隔一个半小时调用一次方法, 请问Corn表达式怎么写?

quartz 一次触发执行多次job

quartz 每周日下午6点执行一次怎么写?

Quartz定时任务和IIS程序池闲置超时时间冲突解决方案

怎么用quartz控制任务的执行顺序