定时任务时间表达式的规则(自己总结)

单纯针对时间的设置规则

一个定时任务表达式有5、6、7个组成,由空格分隔的时间元素。

****************************************分隔符****重要内容已标红****

从左至右,七位元素的含义如下:0 15 10 * * ? *
1.秒(0–59)
2.分钟(0–59)
3.小时(0–23)
4.月份中的日期(1–31)
5.月份(1–12或JAN–DEC)
6.星期中的日期(1–7或SUN–SAT)
7.年份(1970–2099)

各个时间可用值如下:
秒0-59 , - * /
分0-59 , - * /
小时0-23 , - * /
日1-31 , - * ? / L W C
月1-12 or JAN-DEC , - * /
周几1-7 or SUN-SAT , - * ? / L C #
年(可选字段) empty, 1970-2099 , - * /

可用值详细分析如下:
“*”——字符可以用于所有字段,在“分”字段中设为"*"表示"每一分钟"的含义。
“?”——字符可以用在“日”和“周几”字段.它用来指定'不明确的值'.这在你需要指定这两个字段中的某一个值而不是另外一个的时候会被用到。在后面的例子中可以看到其含义。
“-”——字符被用来指定一个值的范围,比如在“小时”字段中设为"10-12"表示"10点到12点"。
“,”——字符指定数个值。比如在“周几”字段中设为"MON,WED,FRI"表示"the days Monday, Wednesday, and Friday"。
“/”——字符用来指定一个值的的增加幅度.比如在“秒”字段中设置为"0/15"表示"第0, 15, 30,和45秒"。而"5/15"则表示"第5, 20, 35,和50".在'/'前加"*"字符相当于指定从0秒开始.每个字段都有一系列可以开始或结束的数值。对于“秒”和“分”字段来说,其数值范围为0到 59,对于“小时”字段来说其为0到23,对于“日”字段来说为0到31,而对于“月”字段来说为1到12。"/"字段仅仅只是帮助你在允许的数值范围内 从开始"第n"的值。
“L”——字符可用在“日”和“周几”这两个字段。它是"last"的缩写,但是在这两个字段中有不同的含义。例如,“日”字段中的"L"表示"一个月中 的最后一天" ——对于一月就是31号对于二月来说就是28号(非闰年)。而在“周几”字段中,它简单的表示"7" or "SAT",但是如果在“周几”字段中使用时跟在某个数字之后,它表示"该月最后一个星期×" ——比如"6L"表示"该月最后一个周五"。当使用'L'选项时,指定确定的列表或者范围非常重要,否则你会被结果搞糊涂的。
“W”——可用于“日”字段。用来指定历给定日期最近的工作日(周一到周五)。比如你将“日”字段设为"15W",意为: "离该月15号最近的工作日"。因此如果15号为周六,触发器会在14号即周五调用。如果15号为周日,触发器会在16号也就是周一触发。如果15号为周 二,那么当天就会触发。然而如果你将“日”字段设为"1W",而一号又是周六,触发器会于下周一也就是当月的3号触发,因为它不会越过当月的值的范围边 界。'W'字符只能用于“日”字段的值为单独的一天而不是一系列值的时候。
“L”和“W”可以组合用于“日”字段表示为'LW',意为"该月最后一个工作日"。
“#”——字符可用于“周几”字段。该字符表示“该月第几个周×”,比如"6#3"表示该月第三个周五( 6表示周五而"#3"该月第三个)。再比如: "2#1" =表示该月第一个周一而"4#5" =该月第五个周三。注意如果你指定"#5"该月没有第五个“周×”,该月是不会触发的。
“C”——字符可用于“日”和“周几”字段,它是"calendar"的缩写。它表示为基于相关的日历所计算出的值(如果有的话)。如果没有关联的日历, 那它等同于包含全部日历。“日”字段值为"5C"表示"日历中的第一天或者5号以后",“周几”字段值为"1C"则表示"日历中的第一天或者周日以后"。
对于“月份”字段和“周几”字段来说合法的字符都不是大小写敏感的。
一些例子:

0 0 10,14,16 * * ?      每天上午10点,下午2点和下午4点

0 0,15,30,45 * 1-10 * ?     每月前10天每隔15分钟

30 0 0 1 1 ? 2012     在2012年1月1日午夜过30秒时

0 0 8-5 ? * MON-FRI    每个工作日的工作时间

"0 0 12 * * ?"每天中午十二点触发    (可能用的最多的格式)我的定时任务都是0 0 0 * * ? 每天0点触发

"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点开始到2点59分每分钟一次触发
"0 0/5 14 * * ?"每天从下午2点开始到2:55分结束每5分钟一次触发
"0 0/5 14,18 * * ?"每天的下午2点至2:55和6点至6点55分两个时间段内每5分钟一次触发
"0 0-5 14 * * ?"每天14:00至14:05每分钟一次触发
"0 10,44 14 ? 3 WED"三月的每周三的14:10和14: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

定时任务时间表达式的规则相关推荐

  1. oracle定时任务时间表达式,quartz定时任务数据库需要的表)

    在线QQ客服:1922638 专业的SQL Server.MySQL数据库同步软件 Quartz对将Job保存在数据库中所需的表的描述 QRTZ_CALENDARS以Blob类型存储Quartz日历信 ...

  2. spring定时任务 时间配置cron表达式

    1.Spring quartz 1.1 单纯针对时间的设置规则 org.springframework.scheduling.quartz.CronTriggerBean允许你更精确地控制任务的运行时 ...

  3. Jenkins 定时任务触发时间表达式 -Poll SCM

    H与*表示同样的意思 Jenkins 定时任务触发时间表达式  Jenkins采用了著名的UNIX任务调度工具CRON所使用的配置方式.用5个字段代表5个不同的时间单位(中间用空格隔开): 分 时 日 ...

  4. 定时任务的 执行时间设置规则

    spring 定时任务的 执行时间设置规则 单纯针对时间的设置规则 org.springframework.scheduling.quartz.CronTriggerBean允许你更精确地控制任务的运 ...

  5. Java Spring @Scheduled 定时任务crontab表达式设置

    Java Spring @Scheduled 定时任务crontab表达式设置 1. Cron详解 2. 例子 参考 1. Cron详解 Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或 ...

  6. 论文浅尝 | 基于模式的时间表达式识别

    本文转载自公众号:南大Websoft.  时间表达式识别是自然语言理解中一个重要而基础的任务.在以前的研究工作中,研究人员已经发现时间词的类型信息可以给识别提供明显的帮助.本文中我们以词类型序列作为表 ...

  7. 定时任务重启后执行策略_定时任务时间过长会不会影响下次的执行? 第331篇...

    相关历史文章(阅读本文前,您可能需要先看下之前的系列?) 国内最全的Spring Boot系列之三 2020上半年发文汇总「值得收藏」 立方阶时间复杂度怎么算-征战沙场- 第326篇 SpringBo ...

  8. java spring 中 每小时一次_spring 定时任务的 执行时间设置规则

    单纯针对时间的设置规则 org.springframework.scheduling.quartz.CronTriggerBean允许你更精确地控制任务的运行时间,只需要设置其cronExpressi ...

  9. spring 定时任务的 执行时间设置规则

    单纯针对时间的设置规则 org.springframework.scheduling.quartz.CronTriggerBean允许你更精确地控制任务的运行时间,只需要设置其cronExpressi ...

  10. jenkins定时任务时间设置方法

    Jenkins定时任务时间设置 定时任务的时间格式设定遵循的是cron的语法规则.具体的格式划分为5个字段:分别为 分钟.小时.日.月.星期.通过tab或者空格进行隔离区分 字段 * * * * * ...

最新文章

  1. 分割数组(将数组三等分)
  2. 3D-2D:PnP算法原理
  3. 贵州省新农合业务系统容灾技术支撑服务项目
  4. [转]SQL Server 2005 分区表实践——建立分区表(partition table)
  5. 微信之父张小龙:产品经理的必备书单(转)
  6. 最全的正则表达式大全
  7. 面试题4,打印出100-999所有的“水仙花数”。
  8. solaris配置php,Solaris下安装Oracle_启动Oracle及监听
  9. WIN10 3个手指拖动_想预防老年痴呆,这5个吃饭习惯请立刻改掉,这3个手指动作马上做起来!...
  10. Oracle数据库常用操作sql语句
  11. css学习_css书写规范
  12. 统计某个路径下的总文件个数,及总行数(不含空行)
  13. win10 uwp 渲染原理 DirectComposition 渲染
  14. 数据库主键和外键的关系
  15. 智慧酒店系统开发给现代酒店运营注入创新活力
  16. 本科双非,考研压线上北大,总结一下我的复习过程,希望对考研er有点帮助!
  17. C case和UVM TB的交互,tube_print, event_sync
  18. 未来职业世界的三种人
  19. centos设置密码复杂度及最长使用时间
  20. 基于阿里云的安全组介绍

热门文章

  1. vmstat命令参数及其介绍
  2. 数字图像处理 冈萨雷斯(第四版)图像集合运算定义
  3. 越狱后显示网络无法连接服务器,苹果手机:iOS12 越狱后 Cydia 无法联网闪退等问题汇总...
  4. 入门PCB设计AD9学习笔记10-11 PCB板的3D建模
  5. 类91wan未注册域名分享
  6. 图像处理算法 之 Hough变换
  7. XRD测试常见问题及解答(一)
  8. javaweb课程设计房屋租赁系统
  9. Steam中如何下载锁区的游戏?一直出现 正在更新票证怎么办?
  10. 记录点滴23(中秋、国庆篇)