Quartz下次执行时间,支持7位cron表达式

网上有很多是可以获取6位cron表达式的例子,下面我来介绍一下cron表达式有7位该如何实现获取下次执行时间。

用CronExpression

CronExpression cronExpression = new CronExpression("*/5 * * * * ? *");
        System.out.println(cronExpression.getNextValidTimeAfter(new Date()));

输出结果
在这里插入图片描述

Spring Boot Starter Quartz是一个用于Spring Boot应用的轻量级任务调度框架,它允许您利用Quartz库进行定时任务的管理。对于7cron表达式支持,实际上7cron表达式的语法是在Quartz标准的6基础上增加了年份的部分。 标准的Quartz cron表达式格式是: ```text * * * * ? * - - - - - | | | | | 分钟 (0-59) | | | | +--- 小时 (0-23) | | | +---- 日 (1-31) | | +------ 月 (1-12 或者 L W C T Q U V S) | +-------- 星期 (1-7, 或者 # L) +------------- 年 (1970-2099 或者 *) ``` 如果你想在Spring Boot中使用7cron表达式(如`*/5 * * 1-5 *`),你需要在配置中指定`quartz.cron`属性,并提供完整的表达式,比如: ```java @Configuration @EnableScheduling public class SchedulingConfig { @Value("${myjob.cronExpression:*/5 * * 1-5 *}") private String cronExpression; @Bean(destroyMethod = "shutdown") public org.quartz.Scheduler scheduler() throws SchedulerException { SimpleScheduleBuilder scheduleBuilder = SimpleScheduleBuilder.simpleSchedule() .withIntervalInMinutes(5); return new StdSchedulerFactory().getScheduler() .scheduleJob(jobDetail(), scheduleBuilder.build()); } // ...其他必要的任务配置 private JobDetail jobDetail() { return JobBuilder.newJob(MyJob.class) .withIdentity("myJob", "group1") .usingJobData("cronExpression", cronExpression) .build(); } } ``` 在这个例子中,`${myjob.cronExpression}`变量会被替换为你在application.properties或application.yml文件中设置的值,包含年份部分。注意,这种扩展并不属于Spring Boot Starter Quartz的标准特性,而是需要自定义处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

指尖精彩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值