Cron表达式详解

简介: Cron表达式详解

1.Cron表达式的概念

Cron表达式是一种常用的方式。它是一种由字段组成的字符串,用于表示任务的执行时间。每个字段代表了一种时间单位,包括分钟、小时、日期、月份和星期几。Cron表达式通常由6个或7个字段组成,具体取决于实现方式。

下面是一个标准的Cron表达式的格式:

* * * * * *
| | | | | |
| | | | | +-- 年份(可选)
| | | | +---- 星期几(0 - 707 表示星期日)
| | | +------ 月份(1 - 12| | +-------- 日期(1 - 31| +---------- 小时(0 - 23+------------ 分钟(0 - 59

2.Cron表达式的取值范围

每个字段都可以使用不同的取值来指定任务执行的时间。这里有一些常用的取值方式:

  • 分钟(0 - 59):可以指定具体的分钟数,如0、15、30,或者使用通配符*表示每分钟都执行。
  • 小时(0 - 23):可以指定具体的小时数,如1、9、22,或者使用通配符*表示每小时都执行。
  • 日期(1 - 31):可以指定具体的日期,如1、15、31,或者使用通配符*表示每天都执行。
  • 月份(1 - 12):可以指定具体的月份,如1、6、12,或者使用通配符*表示每个月都执行。
  • 星期几(0 - 7):可以指定具体的星期几,如1(表示星期一)、5(表示星期五)、0或7(表示星期日),或者使用通配符*表示每天都执行。

除了通配符之外,还可以使用逗号,来指定多个取值,使用连字符-来指定一个范围,使用斜线/来指定一个步长。例如,0 0 8-10 表示在每天的8点、9点和10点整执行任务。

3.Cron表达式的特殊字符串

在一些实现中,还可以使用特殊的字符串来表示其他含义,比如:

  • @yearly:等同于0 0 1 1 ,表示每年的1月1日零点执行任务。
  • @monthly:等同于0 0 1 *,表示每个月的1日零点执行任务。
  • @weekly:等同于0 0 0 *,表示每个星期日的零点执行任务。
  • @daily或@midnight:等同于0 0 ,表示每天的零点执行任务。
  • @hourly:等同于0 *,表示每小时的零分执行任务。

Cron表达式提供了一种灵活的方式来定义任务的执行时间,使得定期任务的调度变得简单和可靠,下面列举几个Cron表达式的例子供参考。

4.Cron表达式示例

表达式 说明
0 0 * * * * 每小时零分执行任务
0 30 8 * * * 每天上午8点30分执行任务
0 0 12 * * MON 每个星期一中午12点执行任务
0 0 1 1 * * 每年的1月1日凌晨1点执行任务
0 0 15 * 1-5 * 每个工作日下午3点执行任务
0 0/15 * * * * 每15分钟执行一次任务
0 0 0 1 1,4,7 * 每年的1月1日和4月1日和7月1日午夜执行任务
0 0 8 1/3 * * 每隔3个月的第一天上午8点执行任务
0 0 0 * * SAT 每个星期六午夜执行任务
0 0 12 * * 1-5 每个工作日中午12点执行任务
相关文章
|
消息中间件 缓存 监控
Kafka中的Controller(控制器)节点
Kafka中的Controller(控制器)节点
1625 0
Kafka中的Controller(控制器)节点
|
前端开发 小程序 API
uni-app 微信小程序中如何通过 canvas 画布实现电子签名?
uni-app 微信小程序中如何通过 canvas 画布实现电子签名?
uni-app 微信小程序中如何通过 canvas 画布实现电子签名?
|
缓存 测试技术 调度
cron表达式详解
cron表达式详解
1839 0
|
11月前
|
人工智能 前端开发 JavaScript
详解智能编码在前端研发的创新应用
接下来,人与智能体的交互将变得更为紧密,比如 N 年以后是否可以逐渐过渡。这个逐渐过渡的过程实际上是温和的,从依赖人类到依赖超大规模算力的转变,可能会取代我们的一些职责。这不仅仅是简单的叠加关系。对于AI和超大规模算力,这是否意味着我们可以大幅度提升软件质量,是否可以缩短研发周期并提高效率,还有创造出更优质的软件并持续发展,这无疑是肯定的。
761 25
|
Java 中间件 调度
SpringBoot整合XXL-JOB【03】- 执行器的使用
本文介绍了如何将调度中心与项目结合,通过配置“执行器”实现定时任务控制。首先新建SpringBoot项目并引入依赖,接着配置xxl-job相关参数,如调度中心地址、执行器名称等。然后通过Java代码将执行器注册为Spring Bean,并声明测试方法使用`@XxlJob`注解。最后,在调度中心配置并启动定时任务,验证任务是否按预期执行。通过这些步骤,读者可以掌握Xxl-Job的基本使用,专注于业务逻辑的编写而无需关心定时器本身的实现。
3704 10
SpringBoot整合XXL-JOB【03】-  执行器的使用
|
Prometheus 监控 Cloud Native
无痛入门Prometheus:一个强大的开源监控和告警系统,如何快速安装和使用?
Prometheus 是一个完全开源的系统监控和告警工具包,受 Google 内部 BorgMon 系统启发,自2012年由前 Google 工程师在 SoundCloud 开发以来,已被众多公司采用。它拥有活跃的开发者和用户社区,现为独立开源项目,并于2016年加入云原生计算基金会(CNCF)。Prometheus 的主要特点包括多维数据模型、灵活的查询语言 PromQL、不依赖分布式存储、通过 HTTP 拉取时间序列数据等。其架构简单且功能强大,支持多种图形和仪表盘展示模式。安装和使用 Prometheus 非常简便,可以通过 Docker 快速部署,并与 Grafana 等可
6174 2
|
存储 移动开发 关系型数据库
HarmonyOS 鸿蒙面试第一弹
HarmonyOS 鸿蒙面试第一弹
|
存储 缓存 固态存储
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用合集之如何确保解决冲突代码是提交到合并的目标分支
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
JavaScript 前端开发 Unix
一篇学会cron表达式
# 1、定义 Cron表达式是一种用于定义定时任务的格式化字符串。它被广泛用于Unix、Linux和类Unix系统中,用于在指定的时间执行预定的任务。Cron表达式由6个字段组成,每个字段通过空格分隔开。 在本文中,我们将学习如何理解和编写Cron表达式。 Cron表达式的格式如下: ```javascript * * * * * * | | | | | | | | | | | +-- 星期(周日=0 或 7) | | | | +---- 月份(1-12) | | | +------ 日期(1-31) | | +-------- 小时(0-23) | +-------
881 1
一篇学会cron表达式