Cron表达式

一、前言

在开发中,我们往往需要用到定时任务(quartz)来实现业务需求;

往往头疼的不是逻辑,而是最后的,如何定义Cron表达式(不难,but容易忘 ^_^)。

总结如下:

 

二、Cron表达式定义

①、 举几个cron表达式示例:

0   0   0   *   *   ?             含义:每天0:00执行一次定时任务

0   0   0   ?   *   MON      含义:每周周一0:00执行一次定时任务

0   0   0   1   *   ?             含义:每月1号0:00执行一次定时任务

②、 样就可以确定格式:

【 秒 分 时 日 月 周 年 】,其中年是可选类型,也就是说他如果在不设定年分的情况下是每年。

↓↓↓↓↓↓↓↓

③、 式定义

字段

允许值

允许的特殊字符

Seconds (秒)

0-59

, - * /

Minutes(分)

0-59

, - * /

Hours(时)

0-23

, - * /

Day-of-Month(天)

1-31

, - * ? / L W C

Month(月)

1-12 或者 JAN-DEC (a)

, - * /

Day-of-Week(周)

1-7 或者 SUN-SAT (b)

, - * ? / L C #

年(可选字段)

留空, 1970-2099

, - * /

(a). JAN,FEB,MAR,APR,MAY,JUNE,JULY,AUG,SEP,OCT,NOW,DEC

(b). SUN,MON,TUE,WED,THU,FRI,SAT

③、 殊字符定义

“*”字符: 通配符,指定所有的值;

eg: 0 * * * * ?  表示每分钟执行一次

eg: 0 * * ? * *  表示每分钟的00秒执行一次

“?”字符: 只在日期域和星期域中使用,指定"非明确的值";

eg: 0 10 18 15 3 ?      表示每年三月的第15天,下午6点10分都执行一次

eg: 0 10 18 ? 3 WEB  表示每年3月的每个星期三,下午6点10分都执行一次

“,”字符:  表示列出枚举值;

eg: 10,20  *  * ? * *    表示每分钟的第10秒与第20秒都执行一次

eg: 0 10,20 * 1,2 * ?  表示每月的第1天与第2天的,每小时的第

10分钟与第20分钟都执行一次

“-”字符:  指定一个范围;

eg: 0 10 18 1-5 * ?  表示每月的1号到5号(包含1/5号,每月共计5天),

下午6点10分都执行一次

eg: 0 10-15 * ? * *  表示每小时的第10分钟到第15分钟(包含10/15分钟,

每小时共计5分钟)都执行一次

“/”字符:  指定一个值的增加幅度。n/m表示从n开始,每次增加m;

eg: 5/20 * * ? * *  表示每分钟的第5秒,第25秒,第45秒都执行一次

eg: 0 * 2/2 ? *  *  表示每天的第2/4/6/8.../22小时的0分0秒都执行一次

“L”字符:  只在日期域和星期域中使用,用在日表示一个月中的最后一天,

用在周表示该月最后一个星期X;

“W”字符:只在日期域出现,指定离给定日期最近的工作日(周一到周五),

“L”和“W”可以在日期域中联合使用,LW表示这个月最后一周的工作日;

“#”字符:  只在星期域中出现,表示该月第几个周X。6#3表示该月第3个周五;

eg: * * * ? * 3#4  表示每月的第4个星期的周2,凌晨都执行一次

eg: * * * ? * 6#2  表示每月的第2个星期的周5,凌晨都执行一次

“C”字符: 只在日期域和星期域出现,这个字符依靠一个指定的“日历”。

三、常用Cron表达式示例

  • */5 * * * * ?  :每隔5秒执行一次;
  • 0 */1 * * * ?  :每隔1分钟执行一次;
  • 0 0 23 * * ?  :每天23点执行一次;
  • 0 0 1 * * ?  :每天凌晨1点执行一次;
  • 0 0 1 1 * ?  :每月1号凌晨1点执行一次;
  • 0 0 23 L * ?  :每月最后一天23点执行一次;
  • 0 0 1 ? * L  :每周星期天凌晨1点实行一次;
  • 0 0 2 1 * ? *  :表示在每月的1日的凌晨2点执行;
  • 0 0 12 * * ?  :每天中午12点执行;
  • 0 15 10 ? * *  :每天上午10:15执行 ;
  • 0 15 10 * * ?  :20052005年的每天上午10:15执行 ;
  • 0 * 14 * * ?  :在每天下午2点到下午2:59期间的每1分钟执行 ;
  • 0 0/5 14 * * ?  :在每天下午2点到下午2:55期间的每5分钟执行 ;
  • 0 26,29,33 * * * ?  :在26分、29分、33分执行一次;
  • 0 0 0,13,18,21 * * ?  :每天的0点、13点、18点、21点都执行一次;
  • 0 15 10 ? * MON-FRI  :表示周一到周五每天上午10:15执行;
  • 0 15 10 ? 6L 2002-2006  :表示2002-2006年的每个月的最后一个星期五上午10:15执行;
  • 0 0 10,14,16 * * ?  :每天上午10点,下午2点/4点执行;
  • 0 0/30 9-17 * * ?  :朝九晚五工作时间内每半小时执行;
  • 0 0 12 ? * WED  :表示每个星期三中午12点执行;
  • 0 0/5 14,18 * * ?  :在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟执行 ;
  • 0 0-5 14 * * ?  :在每天下午2点到下午2:05期间的每1分钟执行 ;
  • 0 10,44 14 ? 3 WED  :每年三月的星期三的下午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执行 ;

四、友情链接

线自动生成Cron表达式网址:

http://cron.qqe2.com/

                       

                             Now ~ ~ ~写到这里,就写完了,如果有幸帮助到你,请记得关注我,共同一起见证我们的成长

小结

谢谢观赏,我叫猿医生。

猿友推荐:正在奔跑的程序猿

5分钟学会Cron表达式相关推荐

  1. xxl-job使用quartz中时间格式来设置cron表达式

    一.Quartz中设置cron时间表达式 Quartz中设置cron时间表达式的格式为: <!-- s m h d m w(?) y(?) -->,   分别对应: 秒.分.小时.日.月. ...

  2. cron表达式实现40分钟执行一次的解决方案

    因为玩cron有一段时间,长久以来困扰我的一个问题: 怎么用cron实现40分钟执行一次? 之前用了几种实现方案: 0 0/40 * * * ? 0 40-40 * * * ?  0 */40 * * ...

  3. cron表达式生成函数(小时部分自定义) 1小时30分钟,1小时20分钟,1小时40分钟..

    cron表达式实例: 每1小时30分钟执行一次(间隔时间90分钟) 使用两条cron表达式实现每90分钟执行一次. 第一条以01:30为起点,执行周期为3小时. 第二条以00:00为起点,执行周期为3 ...

  4. quartz Cron表达式一分钟教程

    CronTrigger CronTriggers往往比SimpleTrigger更有用,如果您需要基于日历的概念,而非SimpleTrigger完全指定的时间间隔,复发的发射工作的时间表. CronT ...

  5. cron 表达式 1小时30分钟,100分钟执行一次

    注:不涉及日历(不指定某月\天(周几)等),使用:Simple Trigger(测试代码粘贴在最后) 比如定时任务的需求:间隔 多少秒/分/时( 每隔99秒,每隔100分钟执行等) 每隔90分钟执行一 ...

  6. scheduled一分钟执行一次_@Scheduled cron表达式

    一.Cron详解: Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式: 1.Seconds Minutes Hours Dayof ...

  7. 【番外篇1】青龙面板中cron表达式新手入门教程cron的介绍与使用

    cron表达式即计划任务,约定任务在特定的时间执行 cron表达式有7位和5位之分,不同位数之间以空格分隔 7位:* * * * * * * 从左到右依次代表秒.分.时.天.月.周.年,在大部分情况下 ...

  8. 定时任务Cron表达式学习

    有关定时任务Cron表达式的那些 背景:今天在做quartZ定时任务,发现了要用Cron表达式去指定出发的时间表. 1.CronTrigger CronTrigger,你可以指定触发的时间表如&quo ...

  9. Cron 表达式极速参考

    Cron表达式: * * * * * * * 这些星号由左到右按顺序代表 : [秒] [分] [小时] [日] [月] [周] [年] 序号 说明    是否必填   允许填写的值         允 ...

最新文章

  1. HALCON打开之后相机无法被别的程序找到解决方法
  2. python什么时候诞生的_关于RFC 3339日期时间:在Python中产生timestamp
  3. Allegro16.6软件布局设计技巧:模块复用
  4. 蒙特卡洛模拟_蒙特卡洛模拟法求期权价值
  5. 西固哪家计算机学校好,兰州市西固区有什么技术学校和大学
  6. 工作293:调节删除顺序删除
  7. Android 闹钟
  8. Linux 杀掉所有Java进程
  9. php 从1累加到50,javascript - 一个数每隔一秒执行加1并打印出来,一直加到50停止,用js如何实现?...
  10. 基于Thinkphp6+Element的插件化后台管理系统
  11. 北京理工计算机实验二报告,北京理工大学实验二实验报告表
  12. html 怎么布局ui,移动端UI快速布局解决方案AUI
  13. TokenInsight 对话首席——隐私安全计算,价值几何?
  14. 守望先锋世界观架构 ——(一款好的游戏是怎么来的)
  15. python 图片数据清洗,图片去重,去掉模糊图片,去掉结构性相似的图片
  16. Selective Search(选择性搜索)算法学习
  17. 【Unity】大世界实现方案
  18. Go语言学习之打印九九乘法表
  19. Unity技术手册 - 粒子发射和生命周期内速度子模块
  20. OSChina 周四乱弹 —— 你妈是洗衣机的亲妈

热门文章

  1. linux查看声卡型号,Linux查看声卡信息
  2. Android的四大天王
  3. 1-十六烷基-3-三乙氧基丙基硅烷咪唑溴盐离子液体([HDTIm]Br)修饰磁性纳米颗粒(MNPs)|[HDTIm]Br-MNPs
  4. 什么是陀螺仪的dr算法_陀螺仪与加速传感器数据的融合算法解析
  5. jmeter逻辑控制器之如果(if)控制器实战(二)
  6. 微型计算机的运算器控制器及内存,计算机的运算器、控制器及内存储器统称为什么?...
  7. ffmpeg mplayer x264 代码重点详解 详细分析
  8. AMD皓龙系列服务器CPU,【彻底感悟】酷睿对AMD系列 双核CPU---皓龙Opteron 1210横向评测...
  9. Arduino 常用函数参考文档
  10. kankan转载:anddroid卡牌效果实现