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

    }
}
相关文章
相关标签/搜索