cron表达式详解_cron表达式

1、Cron表达式是一个字符串,用5或6个空格隔开,分成6或7个字段,每个字段代表一个意思。Cron有以下两种语法格式:

2、秒分钟小时月日星期日年或秒分钟小时月日星期日。


(相关资料图)

3、每个字段中可能出现的字符如下:

4、秒:可以出现"-*/"四个字符,有效范围为0-59的整数。

5、分钟:可以出现"-*/"四个字符,有效范围为0-59的整数。

6、小时:可以出现"-*/"四个字符,有效范围为0-23的整数。

7、DayofMonth:可以出现"-*/?“L W C”是八个字符,有效范围是0-31的整数。

8、月份:可以出现"-*/"四个字符,有效范围为1-12或1-12的整数

9、DayofWeek:可以出现"-*/?L C # "四个字符,有效范围是1-7的整数或SUN-SAT的两个范围。1表示周日,2表示周一,依此类推。

10、年份:可以出现"-*/"四个字符,有效范围为1970-2099。

11、每个字段都使用数字,但也可以出现下列特殊字符,它们表示:

12、(1)*:表示与字段匹配的任何值。如果在分钟字段中使用*号,则表示每分钟都会触发一个事件。

13、(2)?只能在两个字段中使用:DayofMonth和DayofWeek。它也匹配字段的任何值,但它不匹配。因为DayofMonth和DayofWeek会互相影响。比如你想在每个月的20号触发排班,不管是哪一天,都只能用下面的写法:13 13 15 20 *?而最后一个只能用?而不是用*,如果用*,表示无论星期几都会触发,其实不是。

14、(3)-:表示范围。例如,在分钟字段中使用5-20,表示从5分钟到20分钟内每分钟触发一次。

15、(4)/:表示在开始时间触发,然后每隔一段时间触发。例如,在分钟字段中使用5/20表示每5分钟触发一次,而每25、45等触发一次。

16、(5),表示列出枚举值。例如,如果您在分钟字段中使用5,20,这意味着它将在每分钟的5分钟和20分钟触发。

17、(6)L:表示只能出现在DayofWeek和DayofMonth域中。如果在DayofWeek域中使用5L,则意味着将在最后一个星期四触发。

18、(7)W:表示有效工作日(周一至周五),只能出现在DayofMonth字段,系统会在离指定日期最近的有效工作日触发事件。比如5W用在DayofMonth,如果5号是周六,那么会在最近的工作日触发:周五,也就是4号。如果5日是周日,6日(周一)触发;如果5号是周一到周五的某一天,那么它将在5号被触发。另一方面,W最近的搜索不会跨月。

19、(8)LW:这两个字可以连用,表示一个月的最后一个工作日,即最后一个星期五。

20、(9)#:用于确定每月的星期几,只能出现在DayofMonth字段中。例如,在4#2中,它表示一个月的第二个星期三。

21、举几个例子:

22、0 0 2 1 * ?*表示计划在每月1日凌晨2点执行任务。

23、0 15 10 ?*周一至周五是指周一至周五每天早上10: 15执行作业。

24、0 15 10 ?6L 2002-2006是指在2002年到2006年每个月的最后一个星期五上午10:15执行。

25、一cron表达式至少有6个(可能7个)时间元素,用空格隔开。

26、按顺序,它们是

27、秒(0~59)

28、分钟(0~59)

29、小时(0~23)

30、日(月)(0~31,但需要考虑你所在月份的天数)

31、月份(0~11)

32、日(周)(1 ~ 71=星期日或星期日,星期一,TUE,星期三,THU,星期五,星期六)

33、年份(1970年至2099年)

34、其中每个元素可以是一个值(如6),一个连续的间隔(9-12),一个间隔时间(8-18/4)(/表示每4小时),一个列表(1,3,5)和通配符。因为“月中日期”和“周中日期”这两个元素是互斥的,所以必须设置其中一个。

35、0 0 10,14,16 * * ?每天上午10点,下午2点,下午4点。

36、0 0/30 9-17 * * ?在朝九晚五的工作时间里,每半小时一次。

37、0 0 12 ?Wed代表每周三中午12点

38、"0 0 12 * * ?"每天中午12点触发

39、"0 15 10 ?* * "每天上午10:15触发。

40、"0 15 10 * * ?"每天上午10:15触发。

41、"0 15 10 * * ?* "每天上午10:15触发。

42、"0 15 10 * * ?在2005年的每天上午10:15触发。

43、"0 * 14 * * ?"每天下午2点到2点59分之间每1分钟触发一次。

44、"0 0/5 14 * * ?"每天下午2点到2点55分之间每5分钟触发一次。

45、"0 0/5 14,18 * * ?"每天下午2点到2点55分,下午6点到6点55分,每5分钟触发一次。

46、"0 0-5 14 * * ?"每天下午2点到2点之间每1分钟触发一次。

47、"0 10,44 14 ?“3 WED”在每年三月的星期三下午2:10和2:44触发。

48、"0 15 10 ?*周一至周五在上午10:15触发。

49、"0 15 10 15 * ?"每月15日上午10:15触发。

50、0 15 10升*?"每月最后一天上午10:15触发。

51、"0 15 10 ?* 6L "在每月最后一个星期五的上午10:15触发。

52、"0 15 10 ?* 6L 2002-2005 "在2002年至2005年每个月的最后一个星期五上午10:15触发。

53、"0 15 10 ?* 6#3 "在每月的第三个星期五上午10:15触发。

54、一些子表达式可以包含范围或列表。

55、例如,子表达式(日(周))可以是“周一至周五”、“周一、周三、周五”、“周一至周三、周六”。

56、“*”字符代表所有可能的值。

57、因此,“*”在子表达式(月)中表示每个月,“*”在子表达式(日(周))中表示一周中的每一天。

58、“/”字符用于指定数值的增量。

59、例如,子表达式(分钟)中的“0/15”表示从第0分钟开始每隔15分钟。

60、子表达式(分钟)中的“3/20”表示从第三分钟开始每隔20分钟(与“3、23、43”含义相同)。

61、"?"该字符仅用于两个子表达式:日(月)和日(周),这意味着没有指定值。

62、当两个子表达式之一被赋值时,另一个子表达式的值需要被设置为“?”为了避免冲突。

63、字符“L”只在日(月)和日(周)两个子表达式中使用,是“最后”一词的缩写。

64、但是它在两个子表达式中的含义是不同的。

65、在日(月)子表达式中,“L”表示一个月的最后一天。

66、在day (week)自我表述中,“L”的意思是一周的最后一天,也就是SAT。

67、如果“L”前有具体内容,则有其他含义。

68、例如,“6L”表示这个月的倒数第二天,“FRIL”表示这个月的第一个星期五。

69、注意:使用“l”参数时,不要指定列表或范围,因为这会导致问题。

本文到此结束,希望对大家有所帮助。

关键词:

为您推荐

cron表达式详解_cron表达式

1、Cron表达式是一个字符串,用5或6个空格隔开,分成6或7个字段,每个字段代表一个意思。Cron有以下两种语法格式:

来源:互联网2023-03-13

新动态:概念动态|贵人鸟新增“沪股通”概念

同花顺F10数据显示,2023年3月13日贵人鸟(603555)新增“沪股通”概念。    入选理由是:该股是沪股通标的股。  该公司常规概念还有:

来源:同花顺iNews2023-03-13

普法强基|呈贡:脱口秀进高校 呈贡这场普法有笑有料

普法强基|呈贡:脱口秀进高校呈贡这场普法有笑有料

来源:掌上春城2023-03-13

当前头条:广东江门新会正式启动“2023年学雷锋志愿服务行动月”活动

近段时间以来,在新会区委、区政府的统筹部署下,结合全国文明城市建设、推进绿美广东生态建设、“南粤春暖”企业公益招聘、纪念梁启超诞辰150

来源:环球网2023-03-13

Aotearoa 最富裕的郊区随着房价暴跌而贬值

根据CoreLogic提供的最新数据,新西兰一些最富裕郊区的房屋价值暴跌。CoreLogic在整个motu的

来源:互联网2023-03-13

每日观察!收入弹性的概念_什么是收入弹性

1、税收收入弹性是西方税收经济理论中的概念,是指税收收入的变化与经济发展情况的比率。2、其宗旨是对税收与经济关系进行定量

来源:互联网2023-03-13

环球热点评!极品皇妃安知晓是重生小说吗_极品皇妃安知晓

1、在发,只有代嫁,歹念我是追文者呢。2、同发的还有几个不错的。

来源:科学教育网2023-03-12

梁家辉:不要拿周星驰、成龙跟我们比,晚辈如何跟我们并列呢?_报道

梁家辉:不要拿周星驰、成龙跟我们比,晚辈如何跟我们并列呢?,马,成龙,周星驰,梁家辉,周润发,电影导演,实力派演员

来源:Lu路先森2023-03-12