小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

quartz.net 時(shí)間表達(dá)式

 張小龍net館藏 2018-04-11

序言

Cron表達(dá)式:就是用簡(jiǎn)單的xxoo符號(hào)按照一定的規(guī)則,就能把各種時(shí)間維度表達(dá)的淋漓盡致,無(wú)所不在其中,然后在用來(lái)做任務(wù)調(diào)度(定時(shí)服務(wù))的quart.net中所認(rèn)知執(zhí)行,可想而知這是多么的天衣無(wú)縫,說(shuō)是編碼藝術(shù)凝集一點(diǎn)不過(guò)分。

牛逼吹完啦,我就寫幾個(gè)簡(jiǎn)單的cron表達(dá)式欣賞下:

1、0/20 * * * * ? note:每20秒

2、15 0/2 * * * ?            

note:每小時(shí)從0分鐘開始,每2分鐘的第15秒,假如當(dāng)前時(shí)間是20:00:00,那么他的維度就在:20:02:5,20:04:15,20:06:15 ....

3、0 0/2 17-21 * * ?          

note: 每天的下午5點(diǎn)到晚上9點(diǎn),每隔2分中的第00秒,假如當(dāng)前時(shí)間是20:24:52 ,那么他的時(shí)間維度在:20:26:00,20:28:00,20:30:00 ...

看到Cron表達(dá)式的簡(jiǎn)潔與強(qiáng)大并存,忍不住往下深入,Go

Cron表達(dá)式的符號(hào)、格式表格

表1、cron表達(dá)式特殊字符意義示意表

特殊字符

意義

*

匹配所有的值。如:*在分鐘的字段域里表示 每分鐘

?

只在日期域和星期域中使用。它被用來(lái)指定“非明確的值”

-

指定一個(gè)范圍。如:“10-12”在小時(shí)域意味著“10點(diǎn)、11點(diǎn)、12點(diǎn)”

,

指定幾個(gè)可選值。如:“MON,WED,FRI”在星期域里表示“星期一、星期三、星期五”

/

指定增量。如:“0/15”在秒域意思是沒(méi)分鐘的0,15,30和45秒?!?/15”在分鐘域表示沒(méi)小時(shí)的5,20,35和50。符號(hào)“*”在“/”前面(如:*/10)等價(jià)于0在“/”前面(如:0/10)

L

表示day-of-month和day-of-week域,但在兩個(gè)字段中的意思不同,例如day-of-month域中表示一個(gè)月的最后一天。如果在day-of-week域表示‘7’或者‘SAT’,如果在day-of-week域中前面加上數(shù)字,它表示一個(gè)月的最后幾天,例如‘6L’就表示一個(gè)月的最后一個(gè)星期五

W

只允許日期域出現(xiàn)。這個(gè)字符用于指定日期的最近工作日。例如:如果你在日期域中寫 “15W”,表示:這個(gè)月15號(hào)最近的工作日。所以,如果15號(hào)是周六,則任務(wù)會(huì)在14號(hào)觸發(fā)。如果15好是周日,則任務(wù)會(huì)在周一也就是16號(hào)觸發(fā)。如果是在日期域填寫“1W”即使1號(hào)是周六,那么任務(wù)也只會(huì)在下周一,也就是3號(hào)觸發(fā),“W”字符指定的最近工作日是不能夠跨月份的。字符“W”只能配合一個(gè)單獨(dú)的數(shù)值使用,不能夠是一個(gè)數(shù)字段,如:1-15W是錯(cuò)誤的

LW

L和W可以在日期域中聯(lián)合使用,LW表示這個(gè)月最后一周的工作日

#

只允許在星期域中出現(xiàn)。這個(gè)字符用于指定本月的某某天。例如:“6#3”表示本月第三周的星期五(6表示星期五,3表示第三周)?!?#1”表示本月第一周的星期一?!?#5”表示第五周的星期三

C

允許在日期域和星期域出現(xiàn)。這個(gè)字符依靠一個(gè)指定的“日歷”。也就是說(shuō)這個(gè)表達(dá)式的值依賴于相關(guān)的“日歷”的計(jì)算結(jié)果,如果沒(méi)有“日歷”關(guān)聯(lián),則等價(jià)于所有包含的“日歷”。如:日期域是“5C”表示關(guān)聯(lián)“日歷”中第一天,或者這個(gè)月開始的第一天的后5天。星期域是“1C”表示關(guān)聯(lián)“日歷”中第一天,或者星期的第一天的后1天,也就是周日的后一天(周一)

表2、 Cron 表達(dá)式特殊字符意義對(duì)應(yīng)表

字段

允許值

允許的特殊字符

0-59

, - * /

0-59

, - * /

小時(shí)

0-23

, - * /

月內(nèi)日期

1-31

, - * ? / L W C

1-12 或者 JAN-DEC

, - * /

周內(nèi)日期

1-7 或者 SUN-SAT

, - * ? / L C #

年(可選)

留空, 1970-2099

, - * /

 

Cron表達(dá)式特殊字符詳解

接下來(lái)的cron表達(dá)式,我會(huì)結(jié)合著quartz來(lái)描述。首先cron表達(dá)式是有7個(gè)域的,依次分別是:秒分時(shí)日月周年,其中年是可選類型,也就是說(shuō)他如果在不設(shè)定年分的情況下是每年。

1、星號(hào)(*)

他在每個(gè)域都可以存在,包含所有合法的值,看好這里是包含所有,意思就是說(shuō)在那一個(gè)域上表示這個(gè)域上的所有值,加入在月,表示1-12,也就是說(shuō)是每月,都會(huì)被執(zhí)行。

示例1:0**1*?   note:每月1號(hào)凌晨都會(huì)被執(zhí)行。

示例2:0**?**   note:每分鐘的00秒被執(zhí)行。

2、問(wèn)號(hào)(?)

他在cron表達(dá)式中,必定存在,有且只有一個(gè),且他只能在日和周的域中存在,表示,不關(guān)系這個(gè)域是什么值,看好了,跟*的包含所有值不同,他是不關(guān)系是月的哪一天或是周的哪一天。如果在周域定義具體的數(shù)值,日域必須為問(wèn)號(hào)(?),如果在日域定義啦具體的數(shù)值,那么周域就必須為問(wèn)號(hào)(?)。為什么,因?yàn)楸苊夂磺宓谋磉_(dá)方式,比如3月的第20天,剛好是第三周的第5天,那么如果在日域定義20,周域定義5這樣,就雙重定義,很蛋疼。cron表達(dá)式也不允許。

示例1:0 10 18 ? 3 WEB     note:每年3月的每個(gè)星期三,下午6點(diǎn)10分都會(huì)被觸發(fā)

示例2:0 10 18 15 3 ?        note:每年三月的第15天,下午6點(diǎn)10分都會(huì)被觸發(fā)

3、橫杠(-)

他在cron表達(dá)式中,可以存在任何域,如果存在某個(gè)域,表示起止時(shí)間,他表示一個(gè)時(shí)間段。

實(shí)例1:0 10 18 1-5 * ?          note:每月的1號(hào)到5號(hào)(包含每月1號(hào)和5號(hào),每月共計(jì)5天都會(huì)被觸發(fā)),下午6點(diǎn)10分都會(huì)被觸發(fā)

實(shí)例2:0 10-15 * ? * *          note:每小時(shí)的第10分鐘到第15分鐘(包含每小時(shí)的第10分鐘和第15分鐘,每小時(shí)共計(jì)5分鐘都會(huì)被觸發(fā)),都會(huì)被觸發(fā)

4、逗號(hào)(,)

他在cron表達(dá)式中,可以存在任何域,如果存在某個(gè)域,表示可選值,他是個(gè)多點(diǎn)的概念。

實(shí)例1:10,20  *  * ? * *         note:每分鐘的第10秒與第20秒都會(huì)被觸發(fā)

實(shí)例2:0 10,20 * 1,2 * ?          note:每月的第1天與第2天的,每小時(shí)的第10分鐘與第20分鐘被觸發(fā)。

5、斜劃線(/)

他在cron表達(dá)式中,可以存在任何域,表示增量,是在域中設(shè)定一個(gè)起始的值,然后每隔多少時(shí)間的概念。

實(shí)例1:5/20 * * ? * *           note:每分鐘的第5秒,第25秒,第45秒 都會(huì)被執(zhí)行。

實(shí)例2:0 * 2/2 ? *  *          note:每天的第2小時(shí),第4小時(shí),第6小時(shí),第8小時(shí) ... 第22小時(shí)的00分00秒都會(huì)被觸發(fā)。

6、井號(hào)(#)

他在cron表達(dá)式中,只能存在周這一個(gè)域,表示第幾周的星期幾,如果超出范圍,則忽略不記。

實(shí)例1:* * * ? * 3#4            note:每月的第4個(gè)星期的周2,凌晨觸發(fā)。

實(shí)例2:* * * ? * 6#2            note:每月的第2個(gè)星期的周5,凌晨觸發(fā)

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多