java 定時任務 quartz 時間表示式Cron總結
Cron 表示式的介紹:
cron 的表示式是被用來配置 CronTrigger 例項的。
cron 的表示式是字串,實際上是有七個子表示式,描述個別細節的時間表。
這些子表示式是由空格分開的,分別代表:
- Seconds
- Minutes
- Hours
- Day-of-Month
- Month
- Day-of-Week
- Year (可選欄位)
例如 "0 0 12 ? * WED" 表示在每星期三下午 12:00 執行,個別子表示式可以包含範圍;
例如,在前面的例子裡 "WED" 可以替換為 "MON-FRI","MON,WED,FRI" 甚至 "MON-WED,SAT"。"*" 代表整個時間段。
每一個欄位都有一套可以指定有效值,如
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" 表示
"*":指定所有的值,比如,Minutes 設定為 *,表示每分鐘
"/":為特別單位,表示為 “每”,例如 "0/15" 表示每隔 15 分鐘執行一次,"0" 表示為從 0 分開始,"3/20" 表示每隔 20 分鐘執行一次,"3" 表示從第 3 分鐘開始執行
"?":表示每月的某一天,或每週的某一天
"L":用於每月或每週,表示為每月的最後一天,或每個月的最後一個星期幾如 "6L" 表示 “每月的最後一個星期五”
"W":表示為最近的工作日,如 "15W" 放在每月(day-of-month)欄位上表示為 “到本月 15 日最近的工作日”
"#":是用來指定每月第 n 個工作日,例如在每週(day-of-week)這個欄位中內容為 "6#3" or "FRI#3" 則表示 “每月第三個星期五”
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 | , - * / |
java 專案 from fhadmin.cn
“?” 字元:表示不確定的值
“,” 字元:指定數個值
“-” 字元:指定一個值的範圍
“/” 字元:指定一個值的增加幅度。n/m 表示從 n 開始,每次增加 m
“L” 字元:用在日表示一個月中的最後一天,用在周表示該月最後一個星期 X
“W” 字元:指定離給定日期最近的工作日 (週一到週五)
“#” 字元:表示該月第幾個周 X。6#3 表示該月第 3 個週五
Cron 表示式的範例:
每隔 5 秒執行一次:*/5 * * * * ?
每隔 1 分鐘執行一次:0 */1 * * * ?
每天 23 點執行一次:0 0 23 * * ?
每天凌晨 1 點執行一次:0 0 1 * * ?
每月 1 號凌晨 1 點執行一次:0 0 1 1 * ?
每月最後一天 23 點執行一次:0 0 23 L * ?
每週星期天凌晨 1 點實行一次:0 0 1 ? * L
在 26 分、29 分、33 分執行一次:0 26,29,33 * * * ?
每天的 0 點、13 點、18 點、21 點都執行一次:0 0 0,13,18,21 * * ?
每天的 7 點到 21 點都執行一次:0 0 7-21 * * ?
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31558068/viewspace-2894992/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Quartz定時任務框架(三)SimpleTrigger和CronTrigger、最詳細的Cron表示式範例quartz框架
- java Quartz 定時任務管理類Javaquartz
- Golang——Cron 定時任務Golang
- 石英定時任務-quartzquartz
- linux定時任務cron配置Linux
- 【Java定時任務】淺談CronTrigger的用法和線上Cron表示式生成網址Java
- 使用 Cron4j 表示式 在 Solon 裡開發定時任務
- 淺談分散式定時任務之quartz分散式quartz
- SpringBoot整合Quartz定時任務Spring Bootquartz
- Quartz 定時任務管理類quartz
- 排查linux 定時任務cron crontabLinux
- Quartz定時任務框架(二) Quartz詳解quartz框架
- GO的定時器Timer 和定時任務cronGo定時器
- 簡單說說Java 定時任務框架---QuartzJava框架quartz
- Spring Boot 配置 Quartz 定時任務Spring Bootquartz
- springboot Quartz 定時任務工具類Spring Bootquartz
- Laravel Cron 定時任務 “跳坑” 點Laravel
- Java中的定時任務最佳化:從Cron表示式到高精度排程的實現Java
- 普通web整合quartz跑定時任務Webquartz
- Quartz高可用定時任務快速上手quartz
- Quartz - Spring整合Quartz實現叢集的定時任務quartzSpring
- Java 定時任務Java
- Quartz定時任務框架(一) 入門案例quartz框架
- 【親測有效】【定時】定時任務 @Scheduled(cron = "0 0 21 * * ?") 【Scheduled失效】
- 定時任務總覽
- 如何使用cron任務每隔2天在固定時間執行任務
- java web定時任務JavaWeb
- Java & Go 定時任務JavaGo
- quartz學習-quartz編碼方式實現定時任務簡例quartz
- 3分鐘掌握Quartz.net分散式定時任務的姿勢quartz分散式
- springboot整合Quartz實現動態配置定時任務Spring Bootquartz
- Grails整合Quartz外掛實現定時任務(Job)AIquartz
- linux 如何建立定時任務?crontab -e 定時任務使用的時間是系統時間Linux
- java定時任務巢狀Java巢狀
- java定時任務--Timer、TimerTaskJava
- Java編寫定時任務Java
- Spring+quartz實現動態化定時任務 (轉)Springquartz
- 在 Linux 中安全且輕鬆地管理 Cron 定時任務Linux