首页 > 编程语言 >Java中CornExpression说明

Java中CornExpression说明

时间:2023-09-27 11:38:05浏览次数:28  
标签:表示 触发 15 14 CornExpression 10 说明 字段 Java

关于cronExpression表达式有至少6个(也可能是7个)由空格分隔的时间元素,从左至右,这些元素约定义如下:
1、秒(0~59)
2、分(0~59)
3、小时(0~23)
4、月份中的日期(1-31)
5、月份(1-12或JAN-DEC)
6、星期中的日期(1-7或SUN-SAT)
7、年份(1970-2099)
eg:
0 0 10,14,16 * * ?
每天10点、14点、16点
0 0 15,30,45 * 1-10 * ?
每月前10天每隔15分钟
30 0 0 1 1 ? 2012
在2012年1月1日午夜过30秒时
各个时间可用值如下:
秒 0-59,-*/
分 0-59,-*/
小时 0-23,-*/
日 1-31,-*?/LWC
月 1-12orJAN-DEC,-*/
周几 1-7 or SUN-SAT,-*?/LC#
年(可选字段)empty,1970-2099,-*/
可用值详细分析如下:
"*"——字符可以用于所有字段,在“分”字段中设为“*”表示“每一分钟”的含义。
"?"——字符可以用在“日”和“周几”字段,它用来指定“不确定的值”。
"-"——字符被用来指定一个值的范围。比如在“小时”字段中设置为“10-12”表示“10点到12点”。
“,”——字符表示指定具体的值,比如在“周几”字段中设置为“MON,WED,FRI”表示“the days Monday,Wednesday,and Friday".
"/"——字符用来指定一个值的增加幅度,比如在“秒”字段中设置为“0/15"表示第“0,15,30和45秒"。而“5/15“表示第5,20,35,50"。
在“/"前加"*"字符相当于从0秒开始,每个字段都有一系列可以开始或结束的数值.
"L"——字符可用在”日“和”周几“这两个字段,它是"last"的缩写,但是在这两个字段中有不同的含义。“日”字段中的“L”表示“一个月中的最后一天”,
对于月就是31号,对于二月(非闰年)就是28号。“周几”字段中,它简单的表示“7”或者“SAT”。
但如果在“周几”字段中使用时跟在某个数字之后,它表示“该月最后一个星期x",例如“6L”表示该月最后一个周五“。
“W”——可用于日字段,用来确认给定日期最近的工作日(周一到周五)。比如将”日“字段设置为”15W“,表示离该月15号最近的工作日,因此如果15号
为周六,触发器会在14号即周五调用。如果15号为周日,触发器会在16号也就是下周一触发,如果15号为周二,那么当天就会触发。如果”日“
字段设置为”1W“,而1号是周六,则会下周一即当月的3号触发,它不会越过当月的值的范围边界。”W“字符只能用于”日“字段的值为单独的一天,
而不是一系列值的时候,”L“和”W“可以组合用于”日“字段,表示为”LW“,表示”该月最后一个工作日”。
“#”——字符可用于“周几”字段,该字符表示“该月第几个周x"。比如“6#3”表示该月第三个周五(6表示周五,而“#3”表示该月第3个)。再比如“2#1”,
表示该月第一个周一,而“4#5”表示该月第五个周三。
“C"——字符可用于”日“和”周几“字段,它是”calendar"的缩写,它表示为基于相关的日历所计算出的值(如果有),如果没有关联的日历,那它等同于
包含全部日历。

  (1)0/2 * * * * ?   表示每2秒 执行任务

  (1)0 0/2 * * * ?    表示每2分钟 执行任务

  (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 10,14,16 * * ?   每天上午10点,下午2点,4点 

  (5)0 0/30 9-17 * * ?   朝九晚五工作时间内每半小时 

  (6)0 0 12 ? * WED    表示每个星期三中午12点 

  (7)0 0 12 * * ?   每天中午12点触发 

  (8)0 15 10 ? * *    每天上午10:15触发 

  (9)0 15 10 * * ?     每天上午10:15触发 

  (10)0 15 10 * * ?    每天上午10:15触发 

  (11)0 15 10 * * ? 2005    2005年的每天上午10:15触发 

  (12)0 * 14 * * ?     在每天下午2点到下午2:59期间的每1分钟触发 

  (13)0 0/5 14 * * ?    在每天下午2点到下午2:55期间的每5分钟触发 

  (14)0 0/5 14,18 * * ?     在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发 

  (15)0 0-5 14 * * ?    在每天下午2点到下午2:05期间的每1分钟触发 

  (16)0 10,44 14 ? 3 WED    每年三月的星期三的下午2:10和2:44触发 

  (17)0 15 10 ? * MON-FRI    周一至周五的上午10:15触发 

  (18)0 15 10 15 * ?    每月15日上午10:15触发 

  (19)0 15 10 L * ?    每月最后一日的上午10:15触发 

  (20)0 15 10 ? * 6L    每月的最后一个星期五上午10:15触发 

  (21)0 15 10 ? * 6L 2002-2005   2002年至2005年的每月的最后一个星期五上午10:15触发 

  (22)0 15 10 ? * 6#3   每月的第三个星期五上午10:15触发

标签:表示,触发,15,14,CornExpression,10,说明,字段,Java
From: https://www.cnblogs.com/ymworkroom/p/17732257.html

相关文章

  • java8基础镜像制作:基于官方镜像改编
    上次配完trivy之后,扫描java项目发现很多漏洞,具体分析了下,大部分居然是制作docker的基础镜像java:8造成的于是更新java8镜像就提上日程了,上dockerhub上看了下,最新版的java8镜像还是6年前。。无奈只能自己制作了,首先看一下当时java镜像的dockerfile ......
  • java使用标识符注意点
    标识符注意点所有的标识符都应该以字母(a-z/A-Z),美元符号($)或者下划线(_)开始.首字母之后可以用字母(a-z/A-Z),美元符号($)或者下划线(_)或数字的任何字符组合.不能使用关键字作为变量名或方法名标识符对大小写敏感,不能用错合法标识符演示:abc,$21,_dsa23非......
  • 基于Java开发的数字采购系统(供应商、询价、招标、订单送货)
    前言:随着互联网和数字技术的不断发展,企业采购管理逐渐走向数字化和智能化。数字化采购平台作为企业采购管理的新模式,能够提高采购效率、降低采购成本、优化供应商合作效率,已成为企业实现效益提升的关键手段。系统获取在文末。一、建设的必要性数字化采购平台是指利用互联网、......
  • 测试驱动技术(TDD)系列之3:详解Java数组
    在前面的文章中我介绍了如何通过junit4和TestNG实现参数化,这两种架构都通过二维数组来实现参数化,在这里我就给大家详细的介绍一下java数组。Junit4定义参数化数据,代码如下:publicstaticCollectionprepareData(){Object[][]object={{1,2,3},{0,2,2},{0,3,3}};returnArrays.as......
  • Java面向对象概念详解
    对象对象有两个层次的概念,现实生活中对象指的是可观世界的实体;而程序中对象就是一组变量和相关方法的集合,其中变量表明对象的状态,方法表明对象所具有的行为。可以将现实生活中的对象经过抽象,映射为程序中的对象,对象是对现实的高度抽象。类对象在程序中是通过一种抽象数据类型来描述......
  • Java String类的 equals、==和intern()
    Java实例的生成我们都知道,java中new一个类的实例是在JVM的堆中完成的,如下图所示:在这里我们以String类为例讲解一些更为细节的东西!String生成实例的代码如下:String str=new String("hello");对于通过new产生一个字符串(假设为” hello”)时,会先去上图的常量池中查找是否已经有了......
  • 详解如何使用VS code搭建JavaScript环境(适合小白)
    对于从事自动化测试的同学来说,有很多自动化测试项目是需要使用JavaScript脚本语言进行coding的,包括selenium、playwright、Puppeteer,那么选择哪种IDE合适呢?在这里我推荐visualstudiocode,即vscode!注意:本文介绍的是JavaScript在后端运行和调试的方法,并未涉及前端(浏览器)相关开发......
  • 「Java开发指南」在MyEclipse中的Spring开发(三)
    在上文中(点击这里回顾>>),我们介绍了如何管理多个Beans和项目、Spring配置编辑器等,本文将继续介绍AOP、WebFlow支持等,要持续关注哦~MyEclipsev2023.1.2离线版下载MyEclipse技术交流群:742336981欢迎一起进群讨论6.AOP支持BeansCrossReferences视图显示了所有被建议的beans......
  • Java多线程--Lesson03
    线程同步概念:线程同步指的是在多个线程操作同一资源时,需要通过线程排队和线程锁来约束这些线程,使得其可以对其资源完成同步并发指的是同一时间段内,有多个线程去操作同一个资源文件由于同一进程的多个线程共享一块空间资源,带来方便的同时也带来了冲突问题,为了保证数据在方法中......
  • UCLASS是一种类说明符吗?
    我们知道,在java里有一个东西叫注解。注解的使用在spring框架里更是被用的出神入化。那么C++里呢?有没有对类进行说明的类型 第一种类说明符:Abstract。抽象类说明符将类声明为“抽象基类”,防止用户在虚幻编辑器中向世界添加此类的参与者,或在游戏中创建此类的实例。 第二种......