zoukankan      html  css  js  c++  java
  • 任务调度Quartz框架中 时间跨度表达式cronexpression

    任务调度Quartz框架中 时间跨度表达式cron-expression

    项目中用到任务调度Quartz框架,对它的时间跨度表达式cron-expression一直不是很明白,因此从网上搜索了下资料,现在整理了一下,与大家分享。

    Cron表达式是一个由六至七个字段组成由空格分隔的字符串,其中6个字段是必须的而一个是可选的,如下:

    字段名 允许的值 允许的特殊字符
    0-59 , - * /
    0-59 , - * /
    小时 0-23 , - * /
    1-31 , - * ? / L W C
    1-12  或 JAN-DEC , - * /
    周几 1-7 或 SUN-SAT , - * ? / L C #
    年 (可选字段) 空 或1970-2099 , - * /


    '*' 字符可以用于所有字段,代表“每一个”的意思。

    例如 在“分”字段中"*"表示"每一分钟"的含义。


    '?' 字符可以用在“日”和“周几”字段. 它用来指定 '不明确的值'.

    例如 我们在“日”中已经制定过值了,不必要在“周”字段中再指定值,这个时候,我们可以在“周”字段上写'?' 字符

    '-' 字符被用来指定一个值的范围。

    例如 在“小时”字段中设为"10-12"表示"10点到12点". 

    ',' 字符指定数个值。

    例如 在“日”字段中设为"1,15,25"表示在1号,15号,25号.


    '/' 字符用来指定一个值的的增加幅度.

    例如 在“秒”字段中设置为"0/15"表示"第0, 15, 30, 和 45秒"。而 "5/15"则表示"第5, 20, 35, 和 50".。


    'L'字符可用在“日”和“周几”这两个字段。它是"last"的缩写, 但是在这两个字段中有不同的含义。

    例如 在“日”字段中的"L"表示"一个月中的最后一天" 。而在“周几”字段中, 它简单的表示"7" or "SAT",但是如果在“周几”字段中使用时跟在某个数字之后, 它表示"该月最后一个星期×" 。


    'W' 可用于“日”字段。用来指定历给定日期最近的工作日(周一到周五) 。

    例如 你将“日”字段设为"15W",代表: "离该月15号最近的工作日"。因此如果15号为周六,触发器会在14号即周五调用。如果15号为周日, 触发器会在16号也就是周一触发。如果15号为周二,那么当天就会触发。'W'字符只能用于“日”字段的值为单独的一天而不是一系列值的时候。 

    '#' 字符可用于“周几”字段。该字符表示“该月第几个周×”.

    例如 "6#3"表示该月第三个周五( 6表示周五而"#3"该月第三个)。

    'C' 字符可用于“日”和“周几”字段,它是"calendar"的缩写。它表示为基于相关的日历所计算出的值(如果有的话)。如果没有关联的日历, 那它等同于包含全部日历。

    例如 “日”字段值为"5C"表示"日历中的第一天或者5号以后",“周几”字段值为"1C"则表示"日历中的第一天或者周日以后"。 

    另外,对于“月份”字段和“周几”字段来说合法的字符不区分大小写。


    作者:ThinkWang 
    出处:http://www.cnblogs.com/ThinkWang/ 
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 

     
    分类: .Net(C#)
  • 相关阅读:
    虚拟机LUN扩大后,重新分区
    rm: cannot remove `/home/cn0000/log/formlog.20140417': Read-only file system
    sybase 备份和恢复
    全表扫描计算成本
    标量子查询 子查询执行次数计算公式
    left join 关联条件位置
    动态SQL使用绑定变量
    如何在SQLServer中处理每天四亿三千万记录的
    移动端UI一致性解决方案
    工业互联网中MES系统的重要性
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3040317.html
Copyright © 2011-2022 走看看