Java 判斷一個給定時間是否知足Cron表達式

實現方式java

  • 直接使用quartz的CronExpression#isSatisfiedBy(Date date)來判斷
  • 在本身程序中建立一個工具類來實現,代碼使用quartz的CronExpression

緣由:工具

  1. 項目中使用的Spring boot的註解式定時任務,並無使用quartz,因此爲了使用一個CronExpression#isSatisfiedBy(Date date)而引入整個quartz不太合適
  2. quartz的CronExpression類徹底能夠單獨拿出來使用,因此在本身項目中使用同名類,代碼使用org.quartz.CronExpression的代碼
import org.junit.Assert;
import org.junit.Test;
import org.quartz.CronExpression;

import java.text.SimpleDateFormat;

public class TestCron {

    @Test
    public void cron() throws Exception {

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

        CronExpression cronExpression = new CronExpression("0 0/5 8-19 * * ? *");

        boolean resCron = cronExpression.isSatisfiedBy(simpleDateFormat.parse("2019-09-09 19:55:00"));

        Assert.assertTrue(resCron);

    }
}
相關文章
相關標籤/搜索