大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) hot資訊 cron表達(dá)式解析

cron表達(dá)式解析

更新時(shí)間:2022-04-24 09:21:12 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2669次

給定一個(gè) cron 表達(dá)式和一個(gè)時(shí)間戳,您可以獲得滿足 cron 表達(dá)式的下一個(gè)時(shí)間戳。

在另一個(gè)項(xiàng)目中,我決定使用 cron 表達(dá)式語(yǔ)法來編碼調(diào)度信息。因此,這個(gè)獨(dú)立的庫(kù)用于解析和應(yīng)用時(shí)間戳到 cron 表達(dá)式。

此實(shí)現(xiàn)中的時(shí)間匹配算法是高效的,它盡可能避免猜測(cè)下一個(gè)匹配時(shí)間戳,這是許多實(shí)現(xiàn)中常見的技術(shù)。

還有一個(gè)配套的命令行實(shí)用程序來評(píng)估 cron 時(shí)間表達(dá)式:https ://github.com/gorhill/cronexpr/tree/master/cronexpr (當(dāng)然使用這個(gè)庫(kù))。

執(zhí)行

秒數(shù) 0-59 * / , -
分鐘 是 0-59 * / , -
小時(shí) 是 0-23 * / , -
日期 是 1-31 * / , - LW
月份 是 1-12 或 JAN-DEC * / , -
星期幾 是 0-6 或 SUN-SAT * / , - L #
年份 1970–2099 * / , -

星號(hào) ( * )

星號(hào)表示 cron 表達(dá)式匹配該字段的所有值。例如,在第 4 個(gè)字段(月)中使用星號(hào)表示每個(gè)月。

斜線 ( / )

斜線描述范圍的增量。例如3-59/15,在分鐘字段中指示一小時(shí)的第三分鐘以及之后每 15 分鐘一次。該形式*/...等價(jià)于“first-last/...”形式,即在字段的最大可能范圍上遞增。

逗號(hào) ( , )

逗號(hào)用于分隔列表中的項(xiàng)目。例如,MON,WED,FRI在第 5 個(gè)字段(星期幾)中使用表示星期一、星期三和星期五。

連字符 ( - )

連字符定義范圍。例如,2000-2010 表示從公元 2000 年到 2010 年之間的每一年,包括在內(nèi)。

大號(hào)

L代表“最后”。當(dāng)在星期幾字段中使用時(shí),它允許您指定構(gòu)造,例如5L給定月份的“最后一個(gè)星期五”( )。在 day-of-month 字段中,它指定該月的最后一天。

W

W日期字段允許使用該字符。此字符用于指定距給定日期最近的工作日(周一至周五)。例如,如果您要指定15W為 day-of-month 字段的值,則其含義是:“距每月 15 日最近的工作日”。

因此,如果 15 日是星期六,則觸發(fā)器會(huì)在 14 日星期五觸發(fā)。如果 15 日是星期日,則觸發(fā)器會(huì)在 16 日星期一觸發(fā)。如果 15 日是星期二,那么它會(huì)在 15 日星期二觸發(fā)。但是,如果您指定1W日期的值,并且第 1 天是星期六,則觸發(fā)器會(huì)在第 3 天的星期一觸發(fā),因?yàn)樗粫?huì)“跳過”一個(gè)月的日期邊界。

W僅當(dāng)月份中的某天是一天,而不是日期范圍或日期列表時(shí),才可以指定該字符。

該W字符還可以與 結(jié)合L,即LW表示“本月的最后一個(gè)工作日”。

哈希 (#)

#允許用于星期幾字段,并且后面必須跟一個(gè)介于 1 到 5 之間的數(shù)字。它允許您指定構(gòu)造,例如給定月份的“第二個(gè)星期五”。

預(yù)定義的 cron 表達(dá)式

條目描述相當(dāng)于
@annually 每年 1 月 1 日凌晨午夜運(yùn)行一次 0 0 0 1 1 * *
@yearly 每年 1 月 1 日午夜運(yùn)行一次 0 0 0 1 1 * *
@monthly 每月第一天凌晨的午夜運(yùn)行一次 0 0 0 1 * * *
@weekly 每周在周日早上的午夜運(yùn)行一次 0 0 0 * * 0 *
@daily 每天午夜運(yùn)行一次 0 0 0 * * * *
@hourly 每小時(shí)開始運(yùn)行一次 0 0 * * * * *
@reboot 不支持

其他詳情

如果僅存在六個(gè)字段,0則附加第二個(gè)字段,即* * * * * 2013內(nèi)部成為0 * * * * * 2013。

如果僅存在五個(gè)字段,0則附加第二個(gè)字段并附加一個(gè)通配符年份字段,即* * * * Mon內(nèi)部成為0 * * * * Mon *。

星期字段的域是 [0-7] 而不是 [0-6],7 是星期日(如 0)。這符合http://linux.die.net/man/5/crontab#。

截至目前,如果提供了格式錯(cuò)誤的 cron 表達(dá)式,則代碼的行為尚未確定

安裝

去獲取 github.com/gorhill/cronexpr

用法

導(dǎo)入庫(kù):

導(dǎo)入“github.com/gorhill/cronexpr”
導(dǎo)入“時(shí)間”

最簡(jiǎn)單的方法:

nextTime := cronexpr.MustParse("0 0 29 2 *").Next(time.Now())

假設(shè)time.Now()是“2013-08-29 09:28:00”,那么nextTime將是“2016-02-29 00:00:00”。

如果要重用它,可以保留返回的 Expression 指針:

expr := cronexpr.MustParse("0 0 29 2 *")
nextTime := expr.Next(time.Now())
...
nextTime = expr.Next(nextTime)

用于time.IsZero()查明是否返回了有效時(shí)間。例如,

cronexpr.MustParse("* * * * * 1980").Next(time.Now()).IsZero()

將返回true,而

cronexpr.MustParse("* * * * * 2050").Next(time.Now()).IsZero()

將返回false(截至 2013 年 8 月 29 日...)

您還可以查詢n下一個(gè)時(shí)間戳:

cronexpr.MustParse("0 0 29 2 *").NextN(time.Now(), 5)

它返回一段 time.Time 對(duì)象,包含以下時(shí)間戳(截至 2013 年 8 月 30 日):

2016-02-29 00:00:00
2020-02-29 00:00:00
2024-02-29 00:00:00
2028-02-29 00:00:00
2032-02-29 00:00:00

Next和返回的時(shí)間值NextN的時(shí)區(qū)始終是作為參數(shù)傳遞的時(shí)間值的時(shí)區(qū),除非返回零時(shí)間值。如果大家想了解更多相關(guān)知識(shí),不妨來關(guān)注一下動(dòng)力節(jié)點(diǎn)的Java在線學(xué)習(xí),里面的課程內(nèi)容從入門到精通,通俗易懂,適合小白學(xué)習(xí),希望對(duì)大家能夠有所幫助。

提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-10-10 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 天天摸天天操天天射 | 国产精品一区二区三区免费视频 | 天天看片日日夜夜 | 精品伦理| 香蕉视频网站免费观视频 | 久久国产精品自线拍免费 | 99热这里只有精品99 | 天码毛片一区二区三区入口 | 欧美成人爽毛片在线视频 | 免费www xxx| 一级aa免费视频毛片 | 日韩中文字幕在线 | 亚洲欧美日产综合一区二区三区 | 九九视频免费在线 | 国产夜色视频 | 91精品久久久久含羞草 | 日本韩国欧美在线观看 | 中国大陆高清aⅴ毛片 | 久久综合久久精品 | 亚洲 欧美 自拍 卡通 综合 | 亚洲精品国产不卡在线观看 | 五月婷婷网站 | 国产福利短视频 | 久久精品啪啪嗷嗷叫 | 老子午夜影院 | 精品国产一区二区三区香蕉沈先生 | 香蕉免费一级视频在线观看 | 亚洲精品不卡在线 | 国产大尺度福利视频在线观看 | 国内精品一区视频在线播放 | 亚洲品质自拍视频 | 国产精品原创永久在线观看 | 久久精品日日躁精品 | 97视频在线 | 欧美综合区 | 久久不卡精品 | 欧美精品午夜毛片免费看 | 中文国产成人精品久久久 | 欧美国产日产精品免费视频 | 久草新视频 | 国产精品久久久久久久人热 |