public class CronExpressionUtil
extends java.lang.Object
Cron表达式从左到右(用空格隔开):秒(0~59) 分(0~59) 小时(0~23) 日期(1~31) 月份(1~12的整数或者 JAN-DEC) 星期(1~7的整数或者 SUN-SAT (1=SUN)) 年份(可选,1970~2099)
所有字段均可使用特殊字符:, - * / 分别是枚举,范围,任意,间隔
日期另外可使用:? L W 分别是任意,最后,有效工作日(周一到周五)
星期另外可使用:? L # 分别是任意,最后,每个月第几个星期几
常用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/30 9-17 * * ? 朝九晚五工作时间内每半小时
(5)0 15 10 L * ? 每月最后一日的上午10:15触发
(6)0 15 10 ? * 6#3 每月的第三个星期五上午10:15触发
Cron表达式工具包含
1.验证和格式化Cron表达式方法,isValidExpression和formatExpression
2.生成下一个或多个执行时间方法,getNextTime和getNextTimeList
3.生成下一个或多个执行时间的日期格式化(yyyy-MM-dd HH:mm:ss)方法,getNextTimeStr和getNextTimeStrList
4.对比Cron表达式下一个执行时间是否与指定date相等方法,isSatisfiedBy
| 限定符和类型 | 方法和说明 |
|---|---|
static java.lang.String |
formatExpression(java.lang.String cronExpression)
格式化Cron表达式
|
static java.util.Date |
getNextTime(java.lang.String cronExpression)
生成下一个执行时间
|
static java.util.Date |
getNextTime(java.lang.String cronExpression,
java.util.Date date)
生成下一个执行时间
|
static java.util.List<java.util.Date> |
getNextTimeList(java.lang.String cronExpression,
java.util.Date date,
int num)
生成多个执行时间
|
static java.util.List<java.util.Date> |
getNextTimeList(java.lang.String cronExpression,
int num)
生成多个执行时间
|
static java.lang.String |
getNextTimeStr(java.lang.String cronExpression)
生成下一个执行时间的日期格式化
|
static java.lang.String |
getNextTimeStr(java.lang.String cronExpression,
java.util.Date date)
生成下一个执行时间的日期格式化
|
static java.util.List<java.lang.String> |
getNextTimeStrList(java.lang.String cronExpression,
java.util.Date date,
int num)
生成多个执行时间的日期格式化
|
static java.util.List<java.lang.String> |
getNextTimeStrList(java.lang.String cronExpression,
int num)
生成多个执行时间的日期格式化
|
static boolean |
isSatisfiedBy(java.lang.String cronExpression,
java.util.Date date)
对比Cron表达式下一个执行时间是否与指定date相等
|
static boolean |
isValidExpression(java.lang.String cronExpression)
验证Cron表达式
|
public static boolean isValidExpression(java.lang.String cronExpression)
cronExpression - public static java.lang.String formatExpression(java.lang.String cronExpression)
cronExpression - public static java.util.Date getNextTime(java.lang.String cronExpression,
java.util.Date date)
cronExpression - date - public static java.util.Date getNextTime(java.lang.String cronExpression)
cronExpression - public static java.lang.String getNextTimeStr(java.lang.String cronExpression,
java.util.Date date)
cronExpression - date - public static java.lang.String getNextTimeStr(java.lang.String cronExpression)
cronExpression - public static java.util.List<java.util.Date> getNextTimeList(java.lang.String cronExpression,
java.util.Date date,
int num)
cronExpression - date - num - public static java.util.List<java.util.Date> getNextTimeList(java.lang.String cronExpression,
int num)
cronExpression - num - public static java.util.List<java.lang.String> getNextTimeStrList(java.lang.String cronExpression,
java.util.Date date,
int num)
cronExpression - date - num - public static java.util.List<java.lang.String> getNextTimeStrList(java.lang.String cronExpression,
int num)
cronExpression - num - public static boolean isSatisfiedBy(java.lang.String cronExpression,
java.util.Date date)
cronExpression - date - Copyright © 2020. All Rights Reserved.