【Java】Spring內置cron表達式是否有效和給出下一次運行日期時間

Spring提供了CronSequenceGenerator類以便計算cron表達式的具體時間點的next方法(Spring3.2版本)和cron是否合法的isValidExpression方法(Spring4.3版本)。

代碼如下:


import java.text.SimpleDateFormat;
import java.util.Date;

import org.springframework.scheduling.support.CronSequenceGenerator;

public class CronSequenceGeneratorTest {

	public static void main(String[] args) {
		 
		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("表達式錯誤");
        }
        
    }
	
}

 

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