每一个域可出现的字符如下:

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表达式解析相关推荐

  1. 【Java工具类】学会MVEL2.0,表达式解析再不怕

    文章目录 常见的表达式引擎 一.什么是MVEL? 二.快速入门 三.语法 1.基本语法 1.1 简单属性表达式 1.2 布尔表达式 1.3 复合语句表达式 1.4 返回值 2. 操作符 2.1 一元操 ...

  2. java juel表达式_activiti 自定义函数解析juel表达式

    activiti是支持juel表达式的,这个也很好用,但实际过程中需要支持类方法及变量. 原来项目中解析juel,这边有自定义一个方法的 代码如下: public String getStringBy ...

  3. java jexl 工具类_jexl表达式解析、计算工具类.md

    jexl表达式解析.计算工具类.md 根据表达式可以动态反向解析出变量:适合动态表达式,参数未知场景 如 (A0.2+B0.8)/C 解析出 A\B\C,把ABC参数值代入计算 初始化引擎 priva ...

  4. Java 表达式解析(非原创)

    因项目需要,在网上找来一套表达式解析方法,由于原来的方法太过于零散,不利于移植,现在整理在同一文件内: 文件中包含5个内部类,源码如下: 1 import java.util.ArrayList; 2 ...

  5. java 解析cron_Java 解析Cron表达式,获取最近运行时间

    摘要:Java 解析Cron表达式,获取最近运行时间 方法一 package com.odj.customer.index.controller; import java.text.ParseExce ...

  6. java 自定义表达式_Java中使用Groovy实现自定义表达式解析

    Groovy作为一种JVM-Based语言,目前普及程度正在提高.本文演示一下在Java类中,通过继承GDK的groovy.lang.Script类如何支持自定义表达式解析功能. 输入: 表示一行数据 ...

  7. Java自定义Cron,解析Cron表达式

    Cron表达式中周和数字是不对应的 周一:2:周二:3:周三:4:周四:5:周五:6:周六:7:周日:1 pom文件必须依赖 <dependency><groupId>com. ...

  8. java 解析el表达式_Javaweb El表达式实例详解

    EL全称 Expression Language(表达式语言),是jsp2.0最重要的特性之一,可以利用EL表达式来访问应用程序中的数据,来消除jsp页面中的java脚本. el表达式的语法 expr ...

  9. JAVA关系表达式解析微引擎

    为什么80%的码农都做不了架构师?>>>    背景介绍: 为什么需要这个表达式解析微引擎? 首先这个引擎是产生于调用链路跟踪系统,我们知道在调用跟踪系统里经常会根据关键字搜索日志但 ...

  10. Java基础学习之数据结构:利用栈和队列完成表达式解析

    在阅读本篇文章之前,相信大家对栈和队列的概念已经有了基本的认识.何为栈?栈就是一种"先进后出"存储数据的结构,即最先进栈的数据,最后出栈: 通常,栈的开口端被称为栈顶:相应地,封口 ...

最新文章

  1. 关于 performSelector 的一些小探讨
  2. 人人都是产品经理 2
  3. php+sql创建本地项目详细步骤1——创建数据库数据表,数据库连接
  4. phpcms下的邮箱设置
  5. 一辈子的礼物56ay长沙论坛
  6. 使用迅捷pdf虚拟打印机可以将excel转换成pdf文件吗?
  7. 树莓派十周年,回顾它的发展历程
  8. 快速使用注解方式实现aop切面编程
  9. 自学4年多 Github 上斩获 90k Star! 聊聊自学习编程的正确姿势!
  10. 思科路由器——静态路由超级详细
  11. 阿里云如何购买mysql_如何选购配置阿里云数据库RDS MySQL的流程 新手必看
  12. PYMOL | 制作动画
  13. 关于已移除sd卡,手机不认卡的原因和解决办法(转)
  14. C# 利用正则表达式获取文本中的https网址并替换新的对应的值,微信小程序播放腾讯视频
  15. 江苏大学计算机学院姚奕如,小博传递 || 江苏大学第一届计算机文化节成功举办!...
  16. 数据库课程设计——学生信息管理系统
  17. 如何利用Excel快速批量创建文件夹
  18. 元宇宙产业委常务副主任委员甘华鸣:狭义元宇宙9大技术:一种基于狭义元宇宙体系结构的观点
  19. 凯文·凯利斯坦福演讲 预言未来20年科技潮流
  20. Arduino - 28BYJ-48步进电机+ULN2003驱动模块

热门文章

  1. Android集成B站弹幕库Danmaku
  2. linux给文件备份,Linux文件备份
  3. ArcGis CityEngine 下载地址
  4. 学科分类号查询 计算机工程,学科分类与代码分类号查询.doc
  5. SAP FICO 固定资产会计 功能详解
  6. JAVA中Unicode输出_java输出全部unicode字符
  7. 袖珍计算器c语言设计源码,VB程序题:编一模拟袖珍计算器的完整程序,界面如下图所示。要求:输入两个操作数和一个操作符,根据操作符决定所做的运算。 VB源码 龚沛曾...
  8. java新建json 数组_Java创建JSON对象
  9. SAS Base备考经历分享
  10. 中国营养与健康调查(CHNS)2018年最新数据