Cron Expression (Quartz) 用于每个午夜 12 点运行的程序

Posted

技术标签:

【中文标题】Cron Expression (Quartz) 用于每个午夜 12 点运行的程序【英文标题】:Cron Expression (Quartz) for a program to run every midnight at 12 am 【发布时间】:2012-06-23 07:46:43 【问题描述】:

在每个格林威治标准时间午夜 12 点运行程序的 Quartz Scheduler 中的 cron 表达式是什么。

我以前从未使用过石英,所以我还在学习。

是表达式0 0 12 * * ? 还是12 pm (noon)。谁能告诉我?

【问题讨论】:

【参考方案1】:

1 秒 2分钟 3小时 4 月中的某天 5 个月 6 星期几 7 年(可选字段)

所以在你的情况下:

0 0 0 * * ?

如果你想在中午触发,这将在午夜触发:

0 0 12 * * ?

或两者兼有:

0 0 0,12 * * ?

如果您想变得更复杂,这是一个很好的页面:http://www.quartz-scheduler.org/documentation/quartz-2.x/tutorials/tutorial-lesson-06

祝你有美好的一天!

【讨论】:

【参考方案2】:
<Minute> <Hour> <Day_of_the_Month> <Month_of_the_Year> <Day_of_the_Week>

下图显示了它的组成:

* * * * * *
| | | | | | 
| | | | | +-- Year              (range: 1900-3000)
| | | | +---- Day of the Week   (range: 1-7, 1 standing for Monday)
| | | +------ Month of the Year (range: 1-12)
| | +-------- Day of the Month  (range: 1-31)
| +---------- Hour              (range: 0-23)
+------------ Minute            (range: 0-59)

程序在每个午夜 12 点运行的 Cron 表达式。

0 0 0 1/1 * ? *

一个很棒的网站,无需太多 Cron 表达式知识即可轻松创建自己的 Cron 表达式:Cron Maker

它将帮助您构建自己的 cron 表达式,并像这样向您显示您的 cron 的下一个触发日期时间。

1.  Wednesday, July 6, 2016 12:00 AM
2.  Thursday, July 7, 2016 12:00 AM
3.  Friday, July 8, 2016 12:00 AM
4.  Saturday, July 9, 2016 12:00 AM
5.  Sunday, July 10, 2016 12:00 AM .....

【讨论】:

那个表达式有 7 个字段...这不是一个有效的 cron 表达式 请在 Cron Maker 上检查它是有效的@Araymer 我只是把它放在一个项目中,使用@Scheduled(cron = "0 0 0 1/1 * ? *") 得到了一个异常 它已经在我的春季项目中工作了。 @Araymer,你的问题是 7 提交是 Seconds 看到这个quartz-scheduler.org/documentation/quartz-2.x/tutorials/… 这很有趣。我收到一个异常,说我的字段太多...您使用的是什么版本的 Spring/Spring Boot?【参考方案3】:

每个午夜 12 点运行的程序的 Cron 表达式应该是 0 0 0 * * *

【讨论】:

以上是关于Cron Expression (Quartz) 用于每个午夜 12 点运行的程序的主要内容,如果未能解决你的问题,请参考以下文章

Quartz Cron表达式详解

spring quartz 每30分钟执行一次cronExpression表达式怎么写

Quartz CronExpression表达式

Core Expression

Quartz学习-- quartz基本介绍和 Cron表达式

Quartz中Cron详解