java中cron表达式的含义是什么?常用例子有哪些?

BSO 2020-09-07 10:56:02 java常见问答 4076

在我们学习java的过程中,会发现java的知识点繁多又复杂,让人难以掌握,需要全身心投入进去。今天就给大家介绍一下,java中cron表达式的含义是什么,以及常用的表达式例子有哪些。

首先,我们需要知道的是,cron表达式是一个字符串,字符串通常以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,cron有两种语法格式,如下所示:

①Seconds Minutes Hours DayofMonth Month DayofWeek Year;

②Seconds Minutes Hours DayofMonth Month DayofWeek.

先说一下它的结构,corn从左到右(用空格隔开):秒 分 小时 月份中的日期 月份 星期中的日期 年份

再来看一下各字段的含义,如下图所示:

cron的含义

最后是,常用表达式例子:

1、0 0 2 1 * ? *表示在每月的1日的凌晨2点调整任务;

2、0 15 10 ? *MON-FRI表示周一到周五每天上午10:15执行作业;

3、0 15 10 ? 6L 2002-2006表示2002-2006年的每个月的最后一个星期五上午10:15执行作业;

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

5、0 0/30 9-17 * * ?朝九晚五工作时间内每半小时;

6、0 0 12 ? * WED表示每个星期三中午12点;

7、0 0 12 * * ?每天中午12点触发;

8、0 15 10 ? * *每天上午10:15触发;

9、0 15 10 * * ?每天上午10:15触发;

10、0 15 10 * * ? *每天上午10:15触发;

11、0 15 10 * * ?2005 2005年的每天上午10:15触发;

12、0 * 14 * * ?在每天下午2点到下午2:59期间的每1分钟触发;

13、0 0/5 14 * * ?在每天下午2点到下午2:55期间的每5分钟触发;

14、0 0/5 14,18 * * ?在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发;

15、0 0-5 14 * * ?在每天下午2点到下午2:05期间的每1分钟触发;

16、0 10,44 14 ? 3 WED每年三月的星期三的下午2:10和2:44触发;

17、0 15 10 ? * MON-FRI周一至周五的上午10:15触发;

18、0 15 10 15 * ?每月15日上午10:15触发;

19、0 15 10 L * ?每月最后一日的上午10:15触发;

20、0 15 10 ? * 6L每月的最后一个星期五上午10:15触发;

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

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

同时需要知道的是,有些子表达式可以包含一些范围或列表。所以“*”在子表达式(月)里表示每个月的含义,“*”在子表达式(天(星期))表示星期的每一天。“/”字符用来指定数值的增量 。“?”字符被用于天(月)和天(星期)两个子表达式,表示不指定值 。当2个子表达式其中之一被指定了值以后,为了避免冲突,需要将另一个子表达式的值设为“?”。“L” 字符仅被用于天(月)和天(星期)两个子表达式,它是单词“last”的缩写 。但是它在两个子表达式里的含义是不同的。在天(月)子表达式中,“L”表示一个月的最后一天 。在天(星期)自表达式中,“L”表示一个星期的最后一天,也就是SAT。

以上就是关于java中cron表达式的含义包括哪些,以及它常用例子包含哪些内容的描述。想要了解更多java基础,敬请关注奇Q工具网。

推荐阅读:

java使用Lambda表达式遍历Iterator迭代器详解

java使用Lambda表达式遍历Collection集合详解

java正则表达式数字,java正则判断全为数字有哪些方法?