Junit 判斷cron語句的正確性和下一次執行時間

 Junit 判斷cron語句的正確性和下一次執行時間,Spring有提供類CronSequenceGenerator供我們使用

 /**
     * 判斷cron語句的正確性
     */
    @org.junit.Test
    public void test4(){
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String cron = "0 */5 * * * ?"; //每個五分鐘執行一次
        if(CronSequenceGenerator.isValidExpression(cron)) {
            System.out.println("表達式正確");
            CronSequenceGenerator cronSequenceGenerator = new CronSequenceGenerator(cron);

            Date currentTime = new Date();
            System.out.println("currentTime: " + sdf.format(currentTime));

            Date nextTimePoint = cronSequenceGenerator.next(currentTime); // currentTime爲計算下次時間點的開始時間
            System.out.println("nextTimePoint: " + sdf.format(nextTimePoint));

            Date nextNextTimePoint = cronSequenceGenerator.next(nextTimePoint);
            System.out.println("nextNextTimePoint: " + sdf.format(nextNextTimePoint));
        }else {
            System.out.println("表達式錯誤");
        }

    }

測試結果:

表達式正確
currentTime: 2019-06-14 09:03:55
nextTimePoint: 2019-06-14 09:05:00
nextNextTimePoint: 2019-06-14 09:10:00

功能OK!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章