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));
        }
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM