io.qross.core 核心库
io.qross.time 时间处理相关
Cron 表达式是作为调度任务时间计划的行业标准,但是它也有一些小问题,比如对非技术人员不友好、少量场景支持不了等。作者在原生的 Cron 表达式基础上进行了一些扩展,以适用于更多的应用场景。详细使用相关内容参见Keeper 中的 Cron 表达式。
Chron
比Cron
多了一个h
,表示humanized
,而且本身chron
也有时间的意思。
chronExp
参数支持一个或多个标准的 Cron 表达式、1 到 6 位的非标准 Cron 表达式、人性化的周期表达式和地址参数类型的 Cron 表达式。下面几个示例都是系统支持的表达式格式。详见Keeper 中的 Cron 表达式。
0 * * * * ? *
0 30 9 * * ? *; 45 10
DAILY 10:00; 12:00
HOUR=2&MINUTE=0
ChronExp 类中的方法很简单。
matches(time: DateTime): Boolean
当前表达式是否能匹配指定的时间。getNextTick(time: DateTime): Option[DateTime]
按指定时间的查找表达式的下一次匹配。getNextTickOrNone(time: DateTime): String
查找下一次匹配,如果找到匹配返回日期时间字符串yyyy-MM-dd HH:mm:ss
,否则返回N/A
。ChronExp.getTicks(chronExp: String, beginTime: String, endTime: String): List[String]
计算指定表达式在两个日期时间之间的所有匹配,注意参数和返回值都是字符串格式。Scala 示例
Java示例
expression: String
即构造函数传入的表达式参数,只读。
参考链接