84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
在cron表达式中0 和* 的区别,看了文档之后不是很清楚,自己执行了下 感觉差不多。比如 */26 和 0/26有什么区别呢?什么场景下 用哪个呢?
人生最曼妙的风景,竟是内心的淡定与从容!
我说下自己的使用经验吧。当时遇到的问题是第四六位。其中第四位表示日 第六位表示星期。如果日上面有数字比如1,2,3那么星期就写*表示不管星期几,只要日是1,2,3就满足条件。反之也是。
*号的含义在我看来是理解成不管是什么数字都算是符合条件的。以下是从别人博客转来的,侵权删除。
Cron 表达式包括以下 7 个字段:
格式: [秒] [分] [小时] [日] [月] [周] [年]序号 说明 是否必填 允许填写的值 允许的通配符1 秒 是 0-59 , - * /2 分 是 0-59 , - * /3 小时 是 0-23 , - * /4 日 是 1-31 , - * ? / L W5 月 是 1-12 or JAN-DEC , - * /6 周 是 1-7 or SUN-SAT , - * ? / L #7 年 否 empty 或 1970-2099 , - * /
通配符说明:
反斜线(/)字符表示增量值。例如,在秒字段中“5/15”代表从第 5 秒开始,每 15 秒一次。
星号()字符是通配字符,表示该字段可以接受任何可能的值(例如:在分的字段上设置 "",表示每一分钟都会触发)。
问号(?)问号表示这个字段不包含具体值。所以,如果指定月内日期,可以在月内日期字段中插入“?”,表示周内日期值无关紧要。字母 L 字符是 last 的缩写。放在月内日期字段中,表示安排在当月最后一天执行。在周内日期字段中,如果“L”单独存在,就等于“7”,否则代表当月内周内日期的最后一个实例。所以“0L”表示安排在当月的最后一个星期日执行。
表示区间,例如 在小时上设置 "10-12",表示 10,11,12点都会触发。
逗号(, ) 表示指定多个值,例如在周字段上设置 "MON,WED,FRI" 表示周一,周三和周五触发
井号(#)字符为给定月份指定具体的工作日实例。把“MON#2”放在周内日期字段中,表示把任务安排在当月的第二个星期一。
L 表示最后的意思。在日字段设置上,表示当月的最后一天(依据当前月份,如果是二月还会依据是否是润年[leap]), 在周字段上表示星期六,相当于"7"或"SAT"。如果在"L"前加上数字,则表示该数据的最后一个。例如在周字段上设置"6L"这样的格式,则表示“本月最后一个星期五"。
W 表示离指定日期的最近那个工作日(周一至周五). 例如在日字段上设置"15W",表示离每月15号最近的那个工作日触发。如果15号正好是周六,则找最近的周五(14号)触发, 如果15号是周未,则找最近的下周一(16号)触发.如果15号正好在工作日(周一至周五),则就在该天触发。如果指定格式为 "1W",它则表示每月1号往后最近的工作日触发。如果1号正是周六,则将在3号下周一触发。(注,"W"前只能设置具体的数字,不允许区间"-")。注:'L'和 'W'可以一组合使用。如果在日字段上设置"LW",则表示在本月的最后一个工作日触发。
常用示例:0 10* ?--------------每个小时过10分执行一次0 0/32 8,12? ----------每天8:32,12:32 执行一次0 0/2* ?--------------每2分钟执行一次0 0 12?---------------在每天中午12:00触发0 15 10 ?---------------每天上午10:15 触发0 15 10?---------------每天上午10:15 触发0 15 10? *---------------每天上午10:15 触发0 15 10? 2005---------------在2005年中的每天上午10:15 触发014* ?---------------每天在下午2:00至2:59之间每分钟触发一次0 0/5 14?---------------每天在下午2:00至2:59之间每5分钟触发一次0 0/5 14,18?---------------每天在下午2:00至2:59和6:00至6:59之间的每5分钟触发一次0 0-5 14?---------------每天在下午2:00至2:05之间每分钟触发一次0 10,44 14 ? 3 WED---------------每三月份的星期三在下午2:00和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, 2003, 2004 and 2005年的每个月的最后一个星期五的上午10:15触发0 15 10 ? * 6#3---------------在每个月的第三个星期五的上午10:15触发0 0 12 1/5 * ?---------------从每月的第一天起每过5天的中午12:00时触发
0 11 11 11 11 ?---------------在每个11月11日的上午11:11时触发.
0和*在单独使用情况下,差别很大文档关于的解释:(“all values”) - used to select all values within a field. For example, “” in the minute field means *“every minute”.
比如:0 * * * * ? 是每分钟执行一次,而且是在0秒的时候. * * * * * ? 是每秒执行一次
在和 / 组合使用的时候,没有找到相关资料,但从测试情况来看: 0/26 与 */26是一样的。
网上有生成表达式的
我说下自己的使用经验吧。
当时遇到的问题是第四六位。其中第四位表示日 第六位表示星期。
如果日上面有数字比如1,2,3那么星期就写*表示不管星期几,只要日是1,2,3就满足条件。
反之也是。
*号的含义在我看来是理解成不管是什么数字都算是符合条件的。
以下是从别人博客转来的,侵权删除。
Cron 表达式包括以下 7 个字段:
格式: [秒] [分] [小时] [日] [月] [周] [年]
序号 说明 是否必填 允许填写的值 允许的通配符
1 秒 是 0-59 , - * /
2 分 是 0-59 , - * /
3 小时 是 0-23 , - * /
4 日 是 1-31 , - * ? / L W
5 月 是 1-12 or JAN-DEC , - * /
6 周 是 1-7 or SUN-SAT , - * ? / L #
7 年 否 empty 或 1970-2099 , - * /
通配符说明:
反斜线(/)字符表示增量值。例如,在秒字段中“5/15”代表从第 5 秒开始,每 15 秒一次。
星号()字符是通配字符,表示该字段可以接受任何可能的值(例如:在分的字段上设置 "",表示每一分钟都会触发)。
问号(?)问号表示这个字段不包含具体值。所以,如果指定月内日期,可以在月内日期字段中插入“?”,表示周内日期值无关紧要。字母 L 字符是 last 的缩写。放在月内日期字段中,表示安排在当月最后一天执行。在周内日期字段中,如果“L”单独存在,就等于“7”,否则代表当月内周内日期的最后一个实例。所以“0L”表示安排在当月的最后一个星期日执行。
表示区间,例如 在小时上设置 "10-12",表示 10,11,12点都会触发。
逗号(, ) 表示指定多个值,例如在周字段上设置 "MON,WED,FRI" 表示周一,周三和周五触发
井号(#)字符为给定月份指定具体的工作日实例。把“MON#2”放在周内日期字段中,表示把任务安排在当月的第二个星期一。
L 表示最后的意思。在日字段设置上,表示当月的最后一天(依据当前月份,如果是二月还会依据是否是润年[leap]), 在周字段上表示星期六,相当于"7"或"SAT"。如果在"L"前加上数字,则表示该数据的最后一个。例如在周字段上设置"6L"这样的格式,则表示“本月最后一个星期五"。
W 表示离指定日期的最近那个工作日(周一至周五). 例如在日字段上设置"15W",表示离每月15号最近的那个工作日触发。如果15号正好是周六,则找最近的周五(14号)触发, 如果15号是周未,则找最近的下周一(16号)触发.如果15号正好在工作日(周一至周五),则就在该天触发。如果指定格式为 "1W",它则表示每月1号往后最近的工作日触发。如果1号正是周六,则将在3号下周一触发。(注,"W"前只能设置具体的数字,不允许区间"-")。
注:'L'和 'W'可以一组合使用。如果在日字段上设置"LW",则表示在本月的最后一个工作日触发。
常用示例:
0 10* ?--------------每个小时过10分执行一次
0 0/32 8,12? ----------每天8:32,12:32 执行一次
0 0/2* ?--------------每2分钟执行一次
0 0 12?---------------在每天中午12:00触发
0 15 10 ?---------------每天上午10:15 触发
0 15 10?---------------每天上午10:15 触发
0 15 10? *---------------每天上午10:15 触发
0 15 10? 2005---------------在2005年中的每天上午10:15 触发
014* ?---------------每天在下午2:00至2:59之间每分钟触发一次
0 0/5 14?---------------每天在下午2:00至2:59之间每5分钟触发一次
0 0/5 14,18?---------------每天在下午2:00至2:59和6:00至6:59之间的每5分钟触发一次
0 0-5 14?---------------每天在下午2:00至2:05之间每分钟触发一次
0 10,44 14 ? 3 WED---------------每三月份的星期三在下午2:00和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, 2003, 2004 and 2005年的每个月的最后一个星期五的上午10:15触发
0 15 10 ? * 6#3---------------在每个月的第三个星期五的上午10:15触发
0 0 12 1/5 * ?---------------从每月的第一天起每过5天的中午12:00时触发
0 11 11 11 11 ?---------------在每个11月11日的上午11:11时触发.
0和*在单独使用情况下,差别很大
文档关于的解释:(“all values”) - used to select all values within a field. For example, “” in the minute field means *“every minute”.
在和 / 组合使用的时候,没有找到相关资料,但从测试情况来看: 0/26 与 */26是一样的。
网上有生成表达式的