Quartz定时调度CronTrigger时间配置格式说明与实例

    技术2024-12-12  20

    CronTrigger 时间格式配置说明

    CronTrigger 配置格式 :

    格式: [] [] [ 小时] [] [] [] []

    序号

    说明

    是否必填

    允许填写的值

    允许的通配符

    1

    0-59 

    , - * /

    2

    0-59

    , - * /

    3

    小时

    0-23

    , - * /

    4

    1-31

    , - * ? / L W

    5

    1-12 or JAN-DEC

    , - * /

    6

    1-7 or SUN-SAT

    , - * ? / L #

    7

    empty 1970-2099

    , - * /

     

    通配符说明 :

    * :表示所有值. 例如: 在分的字段上设置 "*", 表示每一分钟都会触发。 ? :表示不指定值。使用的场景为不需要关心当前设置这个字段的值。例如: 要在每月的10 号触发一个操作,但不关心是周几,所以需要周位置的那个字段设置为"?" 具体设置为 0 0 0 10 * ? - :表示区间。例如 在小时上设置 "10-12", 表示 10,11,12 点都会触发。 , :表示指定多个值,例如在周字段上设置 "MON,WED,FRI" 表示周一,周三和周五触发 / :用于递增触发。如在秒上面设置"5/15" 表示从5 秒开始,每增15 秒触发(5,20,35,50) 。 在月字段上设置'1/3' 所示每月1 号开始,每隔三天触发一次。 L :表示最后的意思。在日字段设置上,表示当月的最后一天( 依据当前月份,如果是二月还会依据是否是润年[leap]), 在周字段上表示星期六,相当于"7""SAT" 。如果在"L" 前加上数字,则表示该数据的最后一个。

    例如在周字段上设置"6L" 这样的格式, 则表示 本月最后一个星期五"

    W :表示离指定日期的最近那个工作日( 周一至周五). 例如在日字段上设置"15W" ,表示离每月15 号最近的那个工作日触发。如果15 号正好是周六,则找最近的周五(14) 触发, 如果15 号是周未,则找最近的下周一(16) 触发. 如果15 号正好在工作日( 周一至周五) ,则就在该天触发。如果指定格式为 "1W", 它则表示每月1 号往后最近的工作日触发。如果1 号正是周六,则将在3 号下周一触发。( 注,"W" 前只能设置具体的数字, 不允许区间"-").

    'L' 'W' 可以一组合使用。如果在日字段上设置"LW", 则表示在本月的最后一个工作日触发

     

    # :序号( 表示每月的第几周星期几) ,例如在周字段上设置"6#3" 表示在每月的第三个周星期六. 注意如果指定"6#5", 正好第五周没有星期六,则不会触发该配置( 用在母亲节和父亲节再合适不过了)

    周字段的设置,若使用英文字母是不区分大小写的 MON mon 相同.

    常用示例:

    格式: [] [] [ 小时] [] [] [] []

    0 0 12 * * ?             每天12 点触发 0 15 10 ? * *           每天1015 分触发 0 15 10 * * ?           每天1015 分触发   0 15 10 * * ? *        每天1015 分触发   0 15 10 * * ? 2005      2005 年每天1015 分触发 0 * 14 * * ?            每天下午的 2 点到259 分每分触发 0 0/5 14 * * ?          每天下午的 2 点到259( 整点开始,每隔5 分触发 )  0 0/5 14,18 * * ?        每天下午的 18 点到1859( 整点开始,每隔5 分触发)

    0 0-5 14 * * ?             每天下午的 2 点到205 分每分触发 0 10,44 14 ? 3 WED         3 月分每周三下午的 210 分和244 分触发 0 15 10 ? * MON-FRI        从周一到周五每天上午的1015 分触发 0 15 10 15 * ?             每月15 号上午1015 分触发 0 15 10 L * ?              每月最后一天的1015 分触发 0 15 10 ? * 6L             每月最后一周的星期五的1015 分触发 0 15 10 ? * 6L 2002-2005  2002 年到2005 年每月最后一周的星期五的1015 分触发

    0 15 10 ? * 6#3            每月的第三周的星期五开始触发 0 0 12 1/5 * ?             每月的第一个中午开始每隔5 天触发一次 0 11 11 11 11 ?            每年的1111 1111 分触发( 光棍节)

    最新回复(0)