前言
最近在学习spring定时任务时接触到Cron表达式,本着系统学习的想法,通过本篇博客整理下Cron表达式相关内容
概述
什么是cron表达式?我理解的cron表达式是一串用来表示时间的字符串。cron表达式有以下两种表达方式:
- 秒 分钟 小时 日 月 星期 年
- 秒 分钟 小时 日 月 星期
根据上面的规则:
5 10 4 14 1 3 2020 就表示2020年1月14号4点10分05秒这个时间,这里需要注意的一点是:“星期”我们这里用3来表示,因为在cron表达中,1表示周天,所以周二我们这里通过3来表示
除了用数字表示外,cron表达式还支持 , - * ? / L W C # 等9个字符,其中不是每一位都支持这9个字符。下面我们先依次介绍这9个字符所代表的含义
特殊字符
- ,:,我们可以理解为或,5,6就可以表示5或者6都可以。假如在cron表达式秒这一位出现5,10:那么就表示5S或者10S这两个时间点
- - : - 我们可以理解为一个范围值,5-10就表示 5 到 10
- * :* 表示所有,All,如果分钟位用 * 表示,就代表每一分钟都可以
- ?:?也表示所有,但是它表示的是在满足cron表达式不出错的情况下,例如 0 0 0 5 * ?就表示每个月的5号这个时间,但是每个月的5号星期几