Quartz 中的 Cron 表达式

本贴最后更新于 1270 天前,其中的信息可能已经东海扬尘

Quartz 中的 Cron 表达式与 Unix 中的 cron 定时任务的表达式类似。

Cron 表达式由 7 个域(field)组成,它们之间用空格隔开,其中最后一个域(field)是可选的。

域的名称及其可配置的值

Field Name Allowed Values Allowed Special Characters
Seconds 0-59 , - * /
Minutes 0-59 , - * /
Hours 0-23 , - * /
Day-of-month 1-31 , - * ? / L W
Month 0-11 or JAN-DEC , - * /
Day-of-Week 1-7 or SUN-SAT , - * ? / L #
Year (Optional) empty, 1970-2199 , - * /

特殊字符的用途

* ——用来指定所有值,比如,在 Minutes 中的 * 表示每一分钟。

? ——用来表示“没有特殊值”。

- ——用来指定一个范围,比如,若在 Hours 中指定 10-12,则表示:10 点、11 点和 12 点。

, ——用来指定多个值,比如,若在 Day-of-Week 中指定 MON,WED,FRI,则表示:周一、周三和周五。

/ ——用来指定时间间隔,/ 前面的值用来指定起点,后面的值用来指定时间间隔。比如,若在 Seconds 中指定 5/15,则表示:5 秒、20 秒、35 秒和 50 秒。即:从第 5 秒开始,每次增加 15 秒。

L ——是 last 单词的缩写,用来指定每周的最后几天或者每月的最后几天。

W ——配合固定日期使用,用来表示 当月 中与指定日期最近的工作日(周一到周五),比如,若在 Day-of-Week 中指定了 15W,则如果 15 号是周六,那么离它最近的工作日就是周五 14 号;如果 15 号是周天,那么离它最近的就是下周一 16 号;如果 15 号本身就是工作日,那就是 15 号。

# ——用来指定每个月的第 n 个周几,比如,若在 Day-of-Week 中指定 6#3,则表示:这个月的第 3 个周五。

总的来说,每个域(field)中的子表达式通常可以是一个通配符(如 *),一个值(如 15),一个范围(如 10-12),一个列表(如 1,3,5)和一个时间间隔(如 5/15)。另外,由于 Quartz 不支持同时对 Day-of-monthDay-of-Week 设定值,因此必须对其中一个设置 ?

示例

表达式 含义
0 0 12 * * ? 每天中午 12:00
0 15 10 ? * * 每天上午 10:15
0 15 10 * * ? 每天上午 10:15
0 15 10 * * ? * 每天上午 10:15
0 15 10 * * ? 2005 2005 年的每天上午 10:15
0 * 14 * * ? 每天下午 2:00 到 2:59 期间的每 1 分钟
0 0/5 14 * * ? 每天下午 2:00 到 2:59 期间,每 5 分钟
0 0/5 14,18 * * ? 每天下午 2:00 到 2:59 期间和下午 6:00 到 6:59 期间,每 5 分钟
0 0-5 14 * * ? 每天下午 2:00 到 2:05 期间的每 1 分钟
0 10,44 14 ? 3 WED 3 月份每个周三的下午 2:10 和 2:44
0 15 10 ? * MON-FRI 周一到周五的上午 10:15
0 15 10 15 * ? 每月 15 号的上午 10:15
0 15 10 L * ? 每月最后一天的上午 10:15
0 15 10 ? * 6L 每月最后一个周五的上午 10:15
0 15 10 ? * 6L 2002-2005 2002 到 2005 年期间,每月最后一个周五的上午 10:15
0 15 10 ? * 6#3 每月第三个周五的上午 10:15

相关资料

CronExpression (Quartz Enterprise Job Scheduler 2.3.0-SNAPSHOT API)

CronTrigger (Quartz Enterprise Job Scheduler 2.3.0-SNAPSHOT API)

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • uTools

    uTools 是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。

    6 引用 • 14 回帖
  • GitBook

    GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。

    3 引用 • 8 回帖
  • WiFiDog

    WiFiDog 是一套开源的无线热点认证管理工具,主要功能包括:位置相关的内容递送;用户认证和授权;集中式网络监控。

    1 引用 • 7 回帖 • 590 关注
  • jsDelivr

    jsDelivr 是一个开源的 CDN 服务,可为 npm 包、GitHub 仓库提供免费、快速并且可靠的全球 CDN 加速服务。

    5 引用 • 31 回帖 • 72 关注
  • 人工智能

    人工智能(Artificial Intelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学。

    135 引用 • 190 回帖 • 1 关注
  • AngularJS

    AngularJS 诞生于 2009 年,由 Misko Hevery 等人创建,后为 Google 所收购。是一款优秀的前端 JS 框架,已经被用于 Google 的多款产品当中。AngularJS 有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等。2.0 版本后已经改名为 Angular。

    12 引用 • 50 回帖 • 483 关注
  • 机器学习

    机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

    83 引用 • 37 回帖
  • QQ

    1999 年 2 月腾讯正式推出“腾讯 QQ”,在线用户由 1999 年的 2 人(马化腾和张志东)到现在已经发展到上亿用户了,在线人数超过一亿,是目前使用最广泛的聊天软件之一。

    45 引用 • 557 回帖 • 45 关注
  • Jenkins

    Jenkins 是一套开源的持续集成工具。它提供了非常丰富的插件,让构建、部署、自动化集成项目变得简单易用。

    53 引用 • 37 回帖 • 3 关注
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    8442 引用 • 38441 回帖 • 154 关注
  • IPFS

    IPFS(InterPlanetary File System,星际文件系统)是永久的、去中心化保存和共享文件的方法,这是一种内容可寻址、版本化、点对点超媒体的分布式协议。请浏览 IPFS 入门笔记了解更多细节。

    21 引用 • 245 回帖 • 243 关注
  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    313 引用 • 547 回帖
  • Solidity

    Solidity 是一种智能合约高级语言,运行在 [以太坊] 虚拟机(EVM)之上。它的语法接近于 JavaScript,是一种面向对象的语言。

    3 引用 • 18 回帖 • 401 关注
  • 脑图

    脑图又叫思维导图,是表达发散性思维的有效图形思维工具 ,它简单却又很有效,是一种实用性的思维工具。

    30 引用 • 96 回帖
  • SendCloud

    SendCloud 由搜狐武汉研发中心孵化的项目,是致力于为开发者提供高质量的触发邮件服务的云端邮件发送平台,为开发者提供便利的 API 接口来调用服务,让邮件准确迅速到达用户收件箱并获得强大的追踪数据。

    2 引用 • 8 回帖 • 486 关注
  • CAP

    CAP 指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。

    11 引用 • 5 回帖 • 611 关注
  • SQLite

    SQLite 是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是全世界使用最为广泛的数据库引擎。

    5 引用 • 7 回帖 • 1 关注
  • ActiveMQ

    ActiveMQ 是 Apache 旗下的一款开源消息总线系统,它完整实现了 JMS 规范,是一个企业级的消息中间件。

    19 引用 • 13 回帖 • 668 关注
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖
  • 自由行
    4 关注
  • Flutter

    Flutter 是谷歌的移动 UI 框架,可以快速在 iOS 和 Android 上构建高质量的原生用户界面。 Flutter 可以与现有的代码一起工作,它正在被越来越多的开发者和组织使用,并且 Flutter 是完全免费、开源的。

    39 引用 • 92 回帖 • 8 关注
  • 周末

    星期六到星期天晚,实行五天工作制后,指每周的最后两天。再过几年可能就是三天了。

    14 引用 • 297 回帖
  • CloudFoundry

    Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。

    5 引用 • 18 回帖 • 172 关注
  • Postman

    Postman 是一款简单好用的 HTTP API 调试工具。

    4 引用 • 3 回帖 • 6 关注
  • 链书

    链书(Chainbook)是 B3log 开源社区提供的区块链纸质书交易平台,通过 B3T 实现共享激励与价值链。可将你的闲置书籍上架到链书,我们共同构建这个全新的交易平台,让闲置书籍继续发挥它的价值。

    链书社

    链书目前已经下线,也许以后还有计划重制上线。

    14 引用 • 257 回帖
  • 服务

    提供一个服务绝不仅仅是简单的把硬件和软件累加在一起,它包括了服务的可靠性、服务的标准化、以及对服务的监控、维护、技术支持等。

    41 引用 • 24 回帖
  • 区块链

    区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法 。

    91 引用 • 751 回帖 • 1 关注