cron 表达式语法

2024-08-20 20:44
文章标签 语法 表达式 cron

本文主要是介绍cron 表达式语法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Cron表达式基本结构

Cron表达式由七部分组成,每部分由空格分隔,从左到右依次是:

  1. 秒(0~59)
  2. 分钟(0~59)
  3. 小时(0~23)
  4. 日期(1-月最后一天)
  5. 月份(1-12 或 JAN-DEC)
  6. 星期几(1-7, 1表示星期日 或 SUN-SAT)
  7. 年份(可选,留空)

通用特殊字符

*:表示任意值,例如* * * * * ?表示每年每月每天每时每分每秒。

,:表示列表,例如1,2,3 * * * * ?表示每年每月每天每时每分的每个第1秒、第2秒、第3秒。

-:定义范围,例如1-3 * * * * ?表示每年每月每天每时每分的第1秒至第3秒。

/:表示每隔多少,例如5/10 * * * * ?表示从第5秒开始,每10秒一次。

日期和星期的特殊字符

?:只能用在日期和星期部分,表示没有具体的值。日期和星期两个部分如果其中一个部分设置了值,则另一个必须设置为?

L:表示最后(Last),只能用在日期和星期中。在日期中表示每月最后一天,在星期中表示7(星期六),也可结合使用如LW表示每月最后一个工作日。

W:只能用在日期中,表示当月中最接近某天的工作日。

#:只能用在星期中,表示第几个星期几,例如6#3表示每月的第三个星期五。

示例

0/5 * * * * ?:表示每秒的第0秒开始,每隔5秒执行一次。

0 0 8-10 ? * *:表示在上午8点、9点和10点的每分钟的第0秒执行。

0 0/30 8-10 ? * *:表示在上午8点、9点和10点,每隔30分钟执行一次。

0 0 8 ? * MON-FRI:表示在上午8点的每分钟的第0秒,星期一到星期五执行。

0 0 8 L * ?:表示在每月的最后一天的上午8点的每分钟的第0秒执行。

0 0 8 ? * 6L:表示在每月的最后一个星期六的上午8点的每分钟的第0秒执行。

0 0 8 ? * 6#3:表示在每月的第三个星期六的上午8点的每分钟的第0秒执行。

Spring Boot中使用Cron表达式

在Spring Boot中,可以使用@Scheduled注解配合Cron表达式来定义定时任务。

@Component  
public class TestJob {  @Scheduled(cron = "0/5 * * * * ?")  public void testJob() {  System.out.println("定时任务执行了");  }  
}

以上就是在Spring Boot中如何使用Cron表达式来定义定时任务的简单示例。

这篇关于cron 表达式语法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1091129

相关文章

Python 函数详解:从基础语法到高级使用技巧

《Python函数详解:从基础语法到高级使用技巧》本文基于实例代码,全面讲解Python函数的定义、参数传递、变量作用域及类型标注等知识点,帮助初学者快速掌握函数的使用技巧,感兴趣的朋友跟随小编一起... 目录一、函数的基本概念与作用二、函数的定义与调用1. 无参函数2. 带参函数3. 带返回值的函数4.

C++11右值引用与Lambda表达式的使用

《C++11右值引用与Lambda表达式的使用》C++11引入右值引用,实现移动语义提升性能,支持资源转移与完美转发;同时引入Lambda表达式,简化匿名函数定义,通过捕获列表和参数列表灵活处理变量... 目录C++11新特性右值引用和移动语义左值 / 右值常见的左值和右值移动语义移动构造函数移动复制运算符

MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

《MySQL多列IN查询之语法、性能与实战技巧(最新整理)》本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析

Golang如何对cron进行二次封装实现指定时间执行定时任务

《Golang如何对cron进行二次封装实现指定时间执行定时任务》:本文主要介绍Golang如何对cron进行二次封装实现指定时间执行定时任务问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录背景cron库下载代码示例【1】结构体定义【2】定时任务开启【3】使用示例【4】控制台输出总结背景

Java Lambda表达式的使用详解

《JavaLambda表达式的使用详解》:本文主要介绍JavaLambda表达式的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、前言二、Lambda表达式概述1. 什么是Lambda表达式?三、Lambda表达式的语法规则1. 无参数的Lambda表

mysql递归查询语法WITH RECURSIVE的使用

《mysql递归查询语法WITHRECURSIVE的使用》本文主要介绍了mysql递归查询语法WITHRECURSIVE的使用,WITHRECURSIVE用于执行递归查询,特别适合处理层级结构或递归... 目录基本语法结构:关键部分解析:递归查询的工作流程:示例:员工与经理的层级关系解释:示例:树形结构的数

Java使用Stream流的Lambda语法进行List转Map的操作方式

《Java使用Stream流的Lambda语法进行List转Map的操作方式》:本文主要介绍Java使用Stream流的Lambda语法进行List转Map的操作方式,具有很好的参考价值,希望对大... 目录背景Stream流的Lambda语法应用实例1、定义要操作的UserDto2、ListChina编程转成M

Python正则表达式语法及re模块中的常用函数详解

《Python正则表达式语法及re模块中的常用函数详解》这篇文章主要给大家介绍了关于Python正则表达式语法及re模块中常用函数的相关资料,正则表达式是一种强大的字符串处理工具,可以用于匹配、切分、... 目录概念、作用和步骤语法re模块中的常用函数总结 概念、作用和步骤概念: 本身也是一个字符串,其中

Mysql用户授权(GRANT)语法及示例解读

《Mysql用户授权(GRANT)语法及示例解读》:本文主要介绍Mysql用户授权(GRANT)语法及示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql用户授权(GRANT)语法授予用户权限语法GRANT语句中的<权限类型>的使用WITH GRANT

Java中的Lambda表达式及其应用小结

《Java中的Lambda表达式及其应用小结》Java中的Lambda表达式是一项极具创新性的特性,它使得Java代码更加简洁和高效,尤其是在集合操作和并行处理方面,:本文主要介绍Java中的La... 目录前言1. 什么是Lambda表达式?2. Lambda表达式的基本语法例子1:最简单的Lambda表