zoukankan      html  css  js  c++  java
  • Quartz Cron表达式详解

    转:https://www.jianshu.com/p/f03b1497122a

     

    本文包含如下内容

    • CronTrigger简介
    • Cron 表达式
    • Cron表达式可选的值
    • Cron表达式的配置规则

    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 26,29,33 * * * ?  在26分、29分、33分执行一次
    0 0 0,13,18,21 * * ? 每天的0点、13点、18点、21点都执行一次
    

    Cron 表达式

    Cron表达式由7个部分组成,各部分用空格隔开,例如0 0 12 ? * WED(每星期三下午12:00 执行)
    Cron表达式的7个部分从左到右代表的含义如下
    Seconds Minutes Hours Day-of-Month Month Day-of-Week Year
    其中Year是可选的

    Cron表达式可选的值

    Seconds
    秒:数字0-59
    Minutes
    分:数字0-59
    Hours
    时 :数字0-23
    Day-of-Month
    月中的几号 :可以用数字1-31 中的任一一个值,但要注意一些特别的月份
    Month
    一年中的几月:可以用0-11 或用字符串 “JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV and DEC” 表示
    Day-of-Week
    每周:数字1-7(1 = 星期日),或用字符口串“SUN, MON, TUE, WED, THU, FRI and SAT”

    字段名                 允许的值                        允许的特殊字符  
    秒                    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                 , - * /
    

    Cron中的符号

    * :代表整个时间段.
    / :表示每多长时间执行一次
    0/15表示每隔15分钟执行一次,“0”表示为从“0”分开始;
    3/20表示每隔20分钟执行一次,“3”表示从第3分钟开始执行
    ? :表示每月的某一天,或第几周的某一天
    L
    “6L”表示“每月的最后一个星期五”
    W:表示为最近工作日
    如“15W”放在每月(day-of-month)字段上表示为“到本月15日最近的工作日”
    #:是用来指定“的”每月第n个工作日
    "6#3"或者"FRI#3":在每周(day-of-week)中表示“每月第三个星期五”

    问号(?)就是用来对日期和星期字段做互斥的,问号(?)的作用是指明该字段‘没有特定的值’,星号(*)和其它值,比如数字,都是给该字段指明特定的值,而星号(*)代表所有,在天时表示每一天。

    “?”字符:表示不确定的值
    “,”字符:指定数个值
    “-”字符:指定一个值的范围
    “/”字符:指定一个值的增加幅度。n/m表示从n开始,每次增加m
    “L”字符:用在日表示一个月中的最后一天,用在周表示该月最后一个星期X
    “W”字符:指定离给定日期最近的工作日(周一到周五)
    “#”字符:表示该月第几个周X。6#3表示该月第3个周五



    作者:阳春是你
    链接:https://www.jianshu.com/p/f03b1497122a
    來源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
  • 相关阅读:
    跳出iframe
    leetcode 225. Implement Stack using Queues
    leetcode 206. Reverse Linked List
    leetcode 205. Isomorphic Strings
    leetcode 203. Remove Linked List Elements
    leetcode 198. House Robber
    leetcode 190. Reverse Bits
    leetcode leetcode 783. Minimum Distance Between BST Nodes
    leetcode 202. Happy Number
    leetcode 389. Find the Difference
  • 原文地址:https://www.cnblogs.com/leodaxin/p/10400916.html
Copyright © 2011-2022 走看看