日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

5分钟学会Cron表达式

發布時間:2024/3/12 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 5分钟学会Cron表达式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? Cron表達式

?

一、前言

? ? ?? 在開發中,我們往往需要用到定時任務(quartz)來實現業務需求;

? ? ? ? ?? 往往頭疼的不是邏輯,而是最后的,如何定義Cron表達式(不難,but容易忘 ^_^)。

? ? ? ? ?? 總結如下:

?

二、Cron表達式定義

?? ? ??

? ? ?? ①、列 舉幾個cron表達式示例: ? ? ??

? ? ? ? ?? 0 ? 0 ? 0 ? * ? * ? ? ? ? ? ? ? ? 含義:每天0:00執行一次定時任務

? ? ? ? ?? 0 ? 0 ? 0 ? ? ? * ? MON ? ?? 含義:每周周一0:00執行一次定時任務

? ? ? ? ?? 0 ? 0 ? 0 ? 1 ? * ? ? ? ? ? ? ? ? 含義:每月1號0:00執行一次定時任務

? ? ? ? ??

? ? ??②、樣就可以確定格式:

? ? ? ? ? ? ? ? 【 秒 分 時 日 月 周 年 】,其中年是可選類型,也就是說他如果在不設定年分的情況下是每年。

? ? ? ? ? ? ? ? ? ? ? ? ? ?? ↓↓↓↓↓↓↓↓

?

? ? ? ③、格 式定義 ? ? ?

字段

允許值

允許的特殊字符

Seconds?(秒)

0-59

,?-?*?/

Minutes(分)

0-59

,?-?*?/

Hours(時)

0-23

,?-?*?/

Day-of-Month(天)

1-31

,?-?*???/?L?W?C

Month(月)

1-12?或者?JAN-DEC (a)

,?-?*?/

Day-of-Week(周)

1-7?或者?SUN-SAT (b)

,?-?*???/?L?C?#

年(可選字段)

留空,?1970-2099

,?-?*?/

?

? ? ? ? ? ? ? ? (a). JAN,FEB,MAR,APR,MAY,JUNE,JULY,AUG,SEP,OCT,NOW,DEC

? ? ? ? ? ? ? ? (b). SUN,MON,TUE,WED,THU,FRI,SAT

?

? ? ?③、特 殊字符定義

?????????????? “*”字符: 通配符,指定所有的值;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? eg: 0 * * * * ?? 表示每分鐘執行一次

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? eg: 0 * * ? * *? 表示每分鐘的00秒執行一次

?

?????????????? “?”字符: 只在日期域和星期域中使用,指定"非明確的值";

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? eg: 0 10 18 15 3 ? ? ?? 表示每年三月的第15天,下午6點10分都執行一次

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? eg: 0 10 18 ? 3 WEB? 表示每年3月的每個星期三,下午6點10分都執行一次

?

?????????????? “,”字符:? 表示列出枚舉值;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? eg: 10,20 ?* ?* ? * * ?? 表示每分鐘的第10秒與第20秒都執行一次

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? eg: 0 10,20 * 1,2 * ?? 表示每月的第1天與第2天的,每小時的第

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 10分鐘與第20分鐘都執行一次

?

?????????????? “-”字符:? 指定一個范圍;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? eg: 0 10 18 1-5 * ?? 表示每月的1號到5號(包含1/5號,每月共計5天),

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 下午6點10分都執行一次

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? eg: 0 10-15 * ? * *? 表示每小時的第10分鐘到第15分鐘(包含10/15分鐘,

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 每小時共計5分鐘)都執行一次

?

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

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? eg: 5/20 * * ? * *? 表示每分鐘的第5秒,第25秒,第45秒都執行一次

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? eg: 0 * 2/2 ? * ?*? 表示每天的第2/4/6/8.../22小時的0分0秒都執行一次

?

?????????????? “L”字符:? 只在日期域和星期域中使用,用在日表示一個月中的最后一天,

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 用在周表示該月最后一個星期X;

?

?????????????? “W”字符:只在日期域出現,指定離給定日期最近的工作日(周一到周五),

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? “L”和“W”可以在日期域中聯合使用,LW表示這個月最后一周的工作日;

?

?????????????? “#”字符:? 只在星期域中出現,表示該月第幾個周X。6#3表示該月第3個周五;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? eg: * * * ? * 3#4? 表示每月的第4個星期的周2,凌晨都執行一次

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? eg: * * * ? * 6#2? 表示每月的第2個星期的周5,凌晨都執行一次

?

?????????????? “C”字符: 只在日期域和星期域出現,這個字符依靠一個指定的“日歷”。

?

?

三、常用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 0 2 1 * ? *? :表示在每月的1日的凌晨2點執行;
  • ???????????????? 0 0 12 * * ?? :每天中午12點執行;
  • ???????????????? 0 15 10 ? * *? :每天上午10:15執行 ;
  • ???????????????? 0 15 10 * * ?? :20052005年的每天上午10:15執行 ;
  • ???????????????? 0 * 14 * * ?? :在每天下午2點到下午2:59期間的每1分鐘執行 ;
  • ???????????????? 0 0/5 14 * * ?? :在每天下午2點到下午2:55期間的每5分鐘執行 ;
  • ???????????????? 0 26,29,33 * * * ?? :在26分、29分、33分執行一次;
  • ? ? ? ? ? ? ? ?? 0 0 0,13,18,21 * * ?? :每天的0點、13點、18點、21點都執行一次;
  • ???????????????? 0 15 10 ? * MON-FRI? :表示周一到周五每天上午10:15執行;
  • ???????????????? 0 15 10 ? 6L 2002-2006? :表示2002-2006年的每個月的最后一個星期五上午10:15執行;
  • ???????????????? 0 0 10,14,16 * * ?? :每天上午10點,下午2點/4點執行;
  • ???????????????? 0 0/30 9-17 * * ?? :朝九晚五工作時間內每半小時執行;
  • ???????????????? 0 0 12 ? * WED? :表示每個星期三中午12點執行;
  • ???????????????? 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執行 ;

?

四、友情鏈接

? ? ?? 線自動生成Cron表達式網址:

? ? ? ? ?? http://cron.qqe2.com/

? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ? ? ? ? ? ?? Now ~ ~ ~寫到這里,就寫完了,如果有幸幫助到你,請記得關注我,共同一起見證我們的成長

?

小結

謝謝觀賞,我叫猿醫生。

猿友推薦:正在奔跑的程序猿

總結

以上是生活随笔為你收集整理的5分钟学会Cron表达式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。