java 反解析cron_Cron表达式解析
每一个域可出现的字符如下:
Seconds: 可出现 ", - * /" 四个字符,有效范围为0-59的整数
Minutes: 可出现 ", - * /" 四个字符,有效范围为0-59的整数
Hours: 可出现 ", - * /" 四个字符,有效范围为0-23的整数
DayofMonth: 可出现 ", - * / ? L W C" 八个字符,有效范围为0-31的整数
Month: 可出现 ", - * /" 四个字符,有效范围为1-12的整数或JAN-DEc
DayofWeek: 可出现 ", - * / ? L C #" 四个字符,有效范围为1-7的整数或SUN-SAT两个范围。1表示星期天,2表示星期一, 依次类推
Year: 可出现 ", - * /" 四个字符,有效范围为1970-2099年
每一个域都使用数字,但还可以出现如下特殊字符,它们的含义是:
(1) *: 表示匹配该域的任意值,假如在Minutes域使用*, 即表示每分钟都会触发事件。
(2) ? : 只能用在DayofMonth和DayofWeek两个域。它也匹配域的任意值,但实际不会。因为DayofMonth和 DayofWeek会相互影响。例如想在每月的20日触发调度,不管20日到底是星期几,则只能使用如下写法: 13 13 15 20 * ?, 其中最后一位只能用?,而不能使用*,如果使用*表示不管星期几都会触发,实际上并不是这样。
(3) - : 表示范围,例如在Minutes域使用5-20,表示从5分到20分钟每分钟触发一次
(4) /: 表示起始时间开始触发,然后每隔固定时间触发一次,例如在Minutes域使用5/20,则意味着5分钟触发一次,而25,45等分别触发一次.
(5) , : 表示列出枚举值值。例如:在Minutes域使用5,20,则意味着在5和20分每分钟触发一次。
(6) L: 表示最后,只能出现在DayofWeek和DayofMonth域,如果在DayofWeek域使用5L,意味着在最后的一个星期四触发。
(7) W: 表示有效工作日(周一到周五),只能出现在DayofMonth域,系统将在离指定日期的最近的有效工作日触发事件。例如:在 DayofMonth使用5W,如果5日是星期六,则将在最近的工作日:星期五,即4日触发。如果5日是星期天,则在6日(周一)触发;如果5日在星期一 到星期五中的一天,则就在5日触发。另外一点,W的最近寻找不会跨过月份
(8) LW: 这两个字符可以连用,表示在某个月最后一个工作日,即最后一个星期五。
(9) #: 用于确定每个月第几个星期几,只能出现在DayofMonth域。例如在4#2,表示某月的第二个星期三。
Cron表达式几个简单范例:
每隔5秒执行一次:*/5 * * * * ?
每隔1分钟执行一次:0 */1 * * * ?
每天23点执行一次:0 0 23 * * ?
每天凌晨1点执行一次:0 0 1 * * ?
每月1号凌晨1点执行一次:0 0 1 1 * ?
每月最后一天23点执行一次:0 0 23 L * ?
每周星期天凌晨1点实行一次:0 0 1 ? * L
在26分、29分、33分执行一次:0 26,29,33 * * * ?
每天的0点、13点、18点、21点都执行一次:0 0 0,13,18,21 * * ?
crontab时间格式说明
minute(分)可以设置0-59分
hour(小时)可以设置0-23小时
day of month(日期)可以设置1-31号
month(月份):可以设置1-12月
day of week(星期):可以设置0-7星期几,其中0和7都代表星期天,或者我们也可以使用名称来表示星期天到星期一,例如sun表示星期天,mon表示星期一等等
crontab时间格式范例
1-3表示123
1-9/2表示13579
crontab范例
每五分钟执行 */5 * * * *
每小时执行 0 * * * *
每天执行 0 0 * * *
每周执行 0 0 * * 0
每月执行 0 0 1 * *
每年执行 0 0 1 1 *
举几个实例吧,这样方便大家能够更加容易的了解
实例
每1分钟执行一次
* * * * * command
/1 * * * * command
每小时的第15,30,45分钟执行
15,30,45 * * * * command
7点到10点的第10,50分钟执行
10,50 7-10 * * * command
每隔一天的7点到11点的第20和第40分钟执行
20,40 7-11 */1 * * command
每周一的7点到11点的第25和第50分钟执行
25,50 7-11 * * 1 command
每天的3:30执行
30 3 * * * command
每月1、10、20日的3 : 30执行
30 3 1,10,20 * * command
每周六、周日的3 : 30执行
30 3 * * 6,0 command
30 3 * * 6,7 command
每天9点到16点之间每隔15分钟执行
/15 9-16 * * * command
java 反解析cron_Cron表达式解析相关推荐
- 【Java工具类】学会MVEL2.0,表达式解析再不怕
文章目录 常见的表达式引擎 一.什么是MVEL? 二.快速入门 三.语法 1.基本语法 1.1 简单属性表达式 1.2 布尔表达式 1.3 复合语句表达式 1.4 返回值 2. 操作符 2.1 一元操 ...
- java juel表达式_activiti 自定义函数解析juel表达式
activiti是支持juel表达式的,这个也很好用,但实际过程中需要支持类方法及变量. 原来项目中解析juel,这边有自定义一个方法的 代码如下: public String getStringBy ...
- java jexl 工具类_jexl表达式解析、计算工具类.md
jexl表达式解析.计算工具类.md 根据表达式可以动态反向解析出变量:适合动态表达式,参数未知场景 如 (A0.2+B0.8)/C 解析出 A\B\C,把ABC参数值代入计算 初始化引擎 priva ...
- Java 表达式解析(非原创)
因项目需要,在网上找来一套表达式解析方法,由于原来的方法太过于零散,不利于移植,现在整理在同一文件内: 文件中包含5个内部类,源码如下: 1 import java.util.ArrayList; 2 ...
- java 解析cron_Java 解析Cron表达式,获取最近运行时间
摘要:Java 解析Cron表达式,获取最近运行时间 方法一 package com.odj.customer.index.controller; import java.text.ParseExce ...
- java 自定义表达式_Java中使用Groovy实现自定义表达式解析
Groovy作为一种JVM-Based语言,目前普及程度正在提高.本文演示一下在Java类中,通过继承GDK的groovy.lang.Script类如何支持自定义表达式解析功能. 输入: 表示一行数据 ...
- Java自定义Cron,解析Cron表达式
Cron表达式中周和数字是不对应的 周一:2:周二:3:周三:4:周四:5:周五:6:周六:7:周日:1 pom文件必须依赖 <dependency><groupId>com. ...
- java 解析el表达式_Javaweb El表达式实例详解
EL全称 Expression Language(表达式语言),是jsp2.0最重要的特性之一,可以利用EL表达式来访问应用程序中的数据,来消除jsp页面中的java脚本. el表达式的语法 expr ...
- JAVA关系表达式解析微引擎
为什么80%的码农都做不了架构师?>>> 背景介绍: 为什么需要这个表达式解析微引擎? 首先这个引擎是产生于调用链路跟踪系统,我们知道在调用跟踪系统里经常会根据关键字搜索日志但 ...
- Java基础学习之数据结构:利用栈和队列完成表达式解析
在阅读本篇文章之前,相信大家对栈和队列的概念已经有了基本的认识.何为栈?栈就是一种"先进后出"存储数据的结构,即最先进栈的数据,最后出栈: 通常,栈的开口端被称为栈顶:相应地,封口 ...
最新文章
- 关于 performSelector 的一些小探讨
- 人人都是产品经理 2
- php+sql创建本地项目详细步骤1——创建数据库数据表,数据库连接
- phpcms下的邮箱设置
- 一辈子的礼物56ay长沙论坛
- 使用迅捷pdf虚拟打印机可以将excel转换成pdf文件吗?
- 树莓派十周年,回顾它的发展历程
- 快速使用注解方式实现aop切面编程
- 自学4年多 Github 上斩获 90k Star! 聊聊自学习编程的正确姿势!
- 思科路由器——静态路由超级详细
- 阿里云如何购买mysql_如何选购配置阿里云数据库RDS MySQL的流程 新手必看
- PYMOL | 制作动画
- 关于已移除sd卡,手机不认卡的原因和解决办法(转)
- C# 利用正则表达式获取文本中的https网址并替换新的对应的值,微信小程序播放腾讯视频
- 江苏大学计算机学院姚奕如,小博传递 || 江苏大学第一届计算机文化节成功举办!...
- 数据库课程设计——学生信息管理系统
- 如何利用Excel快速批量创建文件夹
- 元宇宙产业委常务副主任委员甘华鸣:狭义元宇宙9大技术:一种基于狭义元宇宙体系结构的观点
- 凯文·凯利斯坦福演讲 预言未来20年科技潮流
- Arduino - 28BYJ-48步进电机+ULN2003驱动模块
热门文章
- Android集成B站弹幕库Danmaku
- linux给文件备份,Linux文件备份
- ArcGis CityEngine 下载地址
- 学科分类号查询 计算机工程,学科分类与代码分类号查询.doc
- SAP FICO 固定资产会计 功能详解
- JAVA中Unicode输出_java输出全部unicode字符
- 袖珍计算器c语言设计源码,VB程序题:编一模拟袖珍计算器的完整程序,界面如下图所示。要求:输入两个操作数和一个操作符,根据操作符决定所做的运算。 VB源码 龚沛曾...
- java新建json 数组_Java创建JSON对象
- SAS Base备考经历分享
- 中国营养与健康调查(CHNS)2018年最新数据