• Cron Expression


      Cron 指计划任务,用7个以空格分开的域(字符串)表示任务在约定的时间执行。

      7个域分别代表如下含义:

      Seconds | Minutes | Hours | DayOfMonths | Month | DayOfWeek | Year[Optional]

      每个域均可使用值 ","、 "-" 、 "*"、 "/",

      其他选值如下:

      Seconds: 有效值范围 [0 - 59]

      Minutes: 有效值范围 [0 - 59]

      Hours : 有效值范围 [0 - 23]

      DayOfMonths :还可以使用 "?"、 "L"、 "W"、 "C", 有效值范围 [1 - 31]

      Month  : 有效值范围 [1 - 12] 或 [JAN - DEC]

      DayOfWeek : 还可以使用 "?"、 "L"、 "C"、 "#", 有效值范围 [1 - 7] 或 [SUN - SAT], 1表示周一

      Year  : 有效值范围为[1970 - 2099]

      上面的值中,

          > "*" 表示匹配任意值

      > "-" 表示范围值,如Hours域值为 [9-17]表示朝9晚5,每个小时执行

      > "," 表示枚举值,如Month域值为 1,3,5 表示1月份、3月份、5月份执行

      > "/" 表示固定频率值,如Seconds域值为 */5 表示每隔5秒触发一次

      > "?" 仅允许在 DayOfMonths 或 DayOfWeek 两个域中使用一个,问号表示忽略该域的值,例如:当DayOfWeek为1, DayOfMonths为"?" 时 表示每周日执行,且忽略 DayOfMonths 这个域

      > "L" 表示最后,仅允许在DayOfMonths 或DayOfWeek 中使用,如:DayOfWeek为1表示最后一个周日触发

      > "W" 表示最近有效工作日,仅允许用在DayOfMonths域, 如该域值为 8W, 如果8号为工作日,则8号触发;如果8号为周六,则在7号触发;如果8号为周日,则在9号触发,另W查找时不会垮月。

      > "#" 表示某月的第几个星期几,仅允许用在DayOfMonths域,如:1#2 表示某个月得第二个周日

    下面是一些简单的例子:

    秒 分 时 日 月 周 年(可选)

    0  0  9  *  *  *  *    每天9点触发

    0  0  9  ?  *  *        每天9点触发(年可以忽略,每周7天每天触发所以忽略日)

    0  0  9  *  *  ?        每天9点触发(每天触发,所以忽略周)

    0 30 8  1  * *         每月1号8:30触发

    0  0  8,10,12 * * *  每天8点、10点、12点触发

    0  0  8-12 * * *       每天8-12点,每个小时触发

    0  *  14 * * *          每天 14:00 - 14:59 每分钟触发

    0  0/5 * * * *      每隔5分钟触发一次

    0  0/5 15 * * *        每天15:00 到 15:55之间每5分钟触发一次

    0  0  8  * L *        每月最后一天的8:00触发

    0  30 8  ? * 5L         每月最后一个周四8:30触发

    0  30 8  ?* 1#3      每月第三个周日的8:30触发

      

      

  • 相关阅读:
    页面 笔记
    快速统计一个数二进制中1的个数
    [JAVA] String 拼接效率
    [JAVA] String常用方法
    [letcode] 832 Flipping an Image
    [java]冒泡排序
    SharedPreferences
    归并排序
    安全退出调用多个Activity的Application
    Activity生命周期
  • 原文地址:https://www.cnblogs.com/chenyongjun/p/4965188.html
Copyright © 2020-2023  润新知