1. 程式人生 > >Quartz Cron表達式詳解

Quartz Cron表達式詳解

開始 天上 strong ron cron cnblogs 天下 工作日 get

Cron Expressions

cron的表達式是字符串,實際上是由七子表達式,描述個別細節的時間表。

  <cron-expression>0 0 0 15 * ?</cron-expression>:每個月的15號執行一次
  秒 分 時 日 月 年

  0:表示淩晨,*表示任意時間

  0 0/10 0 15 * ?:每個月的15號每10分鐘執行一次。

  1. Seconds
  2. Minutes
  3. Hours
  4. Day-of-Month
  5. Month
  6. Day-of-Week
  7. Year (可選字段
    )

1)Cron表達式的格式:秒 分 時 日 月 周 年(可選)。

字段名 允許的值 允許的特殊字符

秒 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 , - * /

“*” 代表整個時間段

“?”字符:表示不確定的值

“,”字符:指定數個值

“-”字符:指定一個值的範圍

“/”字符:指定一個值的增加幅度。n/m表示從n開始,每次增加m

“L”字符:用在日表示一個月中的最後一天,用在周表示該月最後一個星期X

“W”字符:指定離給定日期最近的工作日(周一到周五)

“#”字符:表示該月第幾個周X。6#3表示該月第3個周五

2)Cron表達式範例:

字段 允許值 允許的特殊字符
    秒 0-59 , - * /
    分 0-59 , - * /
    小時 0-23 , - * /
    日期 1-31 , - * ? / L W C
    月份 1-12 或者 JAN-DEC , - * /
    星期 1-7 或者 SUN-SAT , - * ? / L C #
    年(可選) 留空, 1970-2099 , - * /

表達式 意義
"0 0 12 * * ?" 每天中午12點觸發
"0 15 10 ? * *" 每天上午10:15觸發
"0 15 10 * * ?" 每天上午10:15觸發
"0 15 10 * * ? *" 每天上午10:15觸發
"0 15 10 * * ? 2005" 2005年的每天上午10:15觸發
"0 * 14 * * ?" 在每天下午2點到下午2:59期間的每1分鐘觸發
"0 0/5 14 * * ?" 在每天下午2點到下午2:55期間的每5分鐘觸發
"0 0/5 14,18 * * ?" 在每天下午2點到2:55期間和下午6點到6:55期間的每5分鐘觸發
"0 0-5 14 * * ?" 在每天下午2點到下午2:05期間的每1分鐘觸發
"0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44觸發
"0 15 10 ? * MON-FRI" 周一至周五的上午10:15觸發
"0 15 10 15 * ?" 每月15日上午10:15觸發
"0 15 10 L * ?" 每月最後一日的上午10:15觸發
"0 15 10 ? * 6L" 每月的最後一個星期五上午10:15觸發
"0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最後一個星期五上午10:15觸發
"0 15 10 ? * 6#3" 每月的第三個星期五上午10:15觸發

Corn表達式在線驗證:http://cron.qqe2.com/

技術分享

Quartz Cron表達式詳解