Cron表达式

简介: Cron表达式

1、介绍

Cron表达式是一个用 6~7 个占位符表示的具有表述时间的表达式,一般用于执行定时任务或类似功能。 一般格式为以下两种:

  • x x x x x x
  • x x x x x x x

其中x 代表一个占位符,或称之为。每两个占位符之间用空格隔开。

其表述的含义为:

  • {秒数} {分钟} {小时} {日期} {月份} {星期}
  • {秒数} {分钟} {小时} {日期} {月份} {星期} {年份(非必填)}


2、占位符

*:表示任意值,比如如果在分钟位,也就是第二个占位符填写*,即表示每分钟都会触发事件


?:不指定值,仅日期和星期域支持该字符。当日期或星期域其中之一被指定了值以后,为了避免冲突,需要将另一个域的值设为?。比如,如果希望在每月的 1 号触发事件,则只能使用如下写法: 0 0 0 1 * ?, 不管 1 号当天到底是星期几,其中最后一位只能用?,而不能使用*。


,:在分钟域中,0 5,20 * * * * 表示每小时的第 5 分钟和第 20 分钟分别触发一次。


-:表示范围:比如0 5-20 * * * *表示每小时从第 5 分钟到第 20 分钟,每隔分钟触发1次


L:单词Last的首字母,表示最后一天,仅日期和星期域支持该字符。


在日期域中,L表示某个月的最后一天。在星期域中,L表示一个星期的最后一天,也就是星期日(SUN)。

如果在L前有具体的内容,例如,在星期域中的6L表示这个月的最后一个星期六。

W:表示有效工作日(周一到周五),只能出现在DayofMonth域,系统将在离指定日期的最近的有效工作日触发事件。例如:在 DayofMonth使用5W,如果5日是星期六,则将在最近的工作日:星期五,即4日触发。如果5日是星期天,则在6日(周一)触发;如果5日在星期一到星期五中的一天,则就在5日触发。另外一点,W的最近寻找不会跨过月份 。


#:确定每个月第几个星期几,仅星期域支持该字符。在星期域中,4#2表示某月的第二个星期四。


3、 域取值范围


1685521695286.png

4、示例

1685521717421.png

1685521761679.png


相关文章
|
存储 设计模式 分布式计算
全量、增量、流水、拉链、快照、代理键、缓慢变化维...
全量、增量、流水、拉链、快照、代理键、缓慢变化维...
|
4月前
|
数据采集 监控 调度
Dataphin功能Tips系列(76)质量规则调度配置系列(3)-定时调度
Dataphin「定时调度」功能支持按需设定数据质量检测时间与频率,适用于定期检查数据质量问题的场景。提供手动配置和系统推荐两种方式,可自动执行规则并生成报告,帮助用户高效发现并处理问题。
157 9
|
6月前
|
数据采集 机器学习/深度学习 数据可视化
Python量化交易:结合爬虫与TA-Lib技术指标分析
Python量化交易:结合爬虫与TA-Lib技术指标分析
|
存储 算法 安全
SM2解密
【10月更文挑战第5天】SM2解密
980 11
|
Java Spring
Cron表达式介绍
Cron表达式介绍
916 0
|
并行计算 安全 数据处理
函数式编程和面向对象编程有什么区别?
【10月更文挑战第12天】 函数式编程与面向对象编程是两种不同的编程范式。前者强调数学函数的求值、不可变数据和纯函数,后者则以对象为核心,封装数据和方法。函数式编程更关注数据转换和计算过程,而面向对象编程关注对象的定义和交互。两者在数据处理、函数角色、代码结构、并发处理、灵活性和适用场景等方面存在显著差异。在实际开发中,可以根据需求选择合适的编程范式或结合使用。
976 4
|
消息中间件 canal 关系型数据库
Maxwell:binlog 解析器,轻松同步 MySQL 数据
Maxwell:binlog 解析器,轻松同步 MySQL 数据
1566 11
|
存储 算法 C++
弗洛伊德(Floyd)算法(C/C++)
弗洛伊德(Floyd)算法(C/C++)
|
Java 关系型数据库 API
使用Spring Boot和PostgreSQL构建高级查询
使用Spring Boot和PostgreSQL构建高级查询
|
C++
Visual Studio(clang)代码格式化
Visual Studio(clang)代码格式化
262 0