基本概念
    在线corn表达式生成: http://cron.qqe2.com/

    Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:
      (1) Seconds Minutes Hours DayofMonth Month DayofWeek Year
      (2)Seconds Minutes Hours DayofMonth Month DayofWeek

    各字段含义: corn从左到右(用空格隔开):秒 分 小时 月份中的日期 月份 星期中的日期 年份
    image.png

    注意:

    • 其中每个元素可以是一个值(如6),一个连续区间(9-12),一个间隔时间(8-18/4)(/表示每隔4小时),一个列表(1,3,5),通配符
    • 由于”月份中的日期”和”星期中的日期”这两个元素互斥的,必须要对其中一个设置?

    通配符含义:

    • “*”字符代表所有可能的值 ,例如“*”在子表达式(月)里表示每个月的含义
    • “/”字符用来指定数值的增量 ,例如 在子表达式(分钟)里的“0/15”表示从第0分钟开始,每15分钟
    • “?”字符仅被用于天(月)和天(星期)两个子表达式,表示不指定值
    • “L” 字符仅被用于天(月)和天(星期)两个子表达式,它是单词“last”的缩写

      但是它在两个子表达式里的含义是不同的。 在天(月)子表达式中,“L”表示一个月的最后一天 在天(星期)自表达式中,“L”表示一个星期的最后一天,也就是SAT

      如果在“L”前有具体的内容,它就具有其他的含义了 例如:“6L”表示这个月的倒数第6天,“FRIL”表示这个月的最一个星期五 注意:在使用“L”参数时,不要指定列表或范围,因为这会导致问题

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

    • “-”字符表示范围。例如在Minutes域使用5-20,表示从5分到20分钟每分钟触发一次
    • “,”字符表示列出枚举值。例如:在Minutes域使用5,20,则意味着在5和20分每分钟触发一次。