使用 cron4j,可以设置在未来某个时间运行的作业
Scheduler s = new Scheduler();
s.schedule("5 10 * * *", job);
s.start();
使用 cron4j,作业可以安排在“下周六”开始,还是在“2012 年 12 月 21 日”开始?
使用 cron4j,可以设置在未来某个时间运行的作业
Scheduler s = new Scheduler();
s.schedule("5 10 * * *", job);
s.start();
使用 cron4j,作业可以安排在“下周六”开始,还是在“2012 年 12 月 21 日”开始?
* * * * * command to be executed
- - - - -
| | | | |
| | | | +----- day of week (0 - 6) (Sunday=0)
| | | +------- month (1 - 12)
| | +--------- day of month (1 - 31)
| +----------- hour (0 - 23)
+------------- min (0 - 59)
这是命令结构的基本分解。开始一些 21 看起来像的东西
0 0 21 12 *
但这只会在每年 12 个月的 21 日运行。
我不确定您是否可以定义年份,但由于字段是,minute hour day month day_of_week (year)
您至少应该能够使用以下表达式让作业在 2012 年 12 月 21 日运行0 0 21 12 ? 2012
:
编辑:cron4j 似乎不支持可选的年份表达式,因此您似乎可以定义0 0 21 12 *
并让作业在每年 12 月 21 日运行。
是的。例如:
0 0 21 12 *
这表示在 12 月 21 日凌晨 12:00 运行。
Chron 语法并不有限地支持年份设置,但如果您今天设置此作业,它将在下一次跨过该日期时运行。
注意:另一个答案建议添加一个年份列。如果您确实包含此内容,则行为并非完全可预测——这取决于您使用的 chron 实现。