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 点运行的程序的主要内容,如果未能解决你的问题,请参考以下文章
spring quartz 每30分钟执行一次cronExpression表达式怎么写