文档章节

cron表达式的解释

buglife
 buglife
发布于 2014/11/22 22:31
字数 808
阅读 3120
收藏 24
点赞 0
评论 1

cron表达式是什么

首先cron是表示计划任务。其次Oracle官网这样解释cron表达式:

Cron expressions are used to configure instances of CronTrigger, a subclass of org.quartz.Trigger. A cron expression is a string consisting of six or seven subexpressions (fields) that describe individual details of the schedule.

也就是说cron表达式通常用于配置计划任务的触发时间。一个cron表达式是一个由六个或者七个子表达式(字段)组成的字符串。而子表达式或者称为字段之间用空格隔开。

举例描述

字段名 是否必需 允许的值 允许的特殊字符
秒(seconds) Y 0-59 , - * /
分(minutes) Y 0-59 , - * /
时(hours) Y 0-23 , - * /
天(day of month) Y 1-31 , - * /L W C
月(month) Y 0-11 或者 JAN-DEC , - * /
星期(day of week) Y 1-7 或者 SUN-SAT , - * /?L C#
年(year) N 1970-2099或者不写 , - * /

这时就可以明白前面所说的六个或者七个子表达式或者字段是什么意思了,从第一位到最后一位分别表示秒 分 时 天 月 星期 年 最后一位年可以不写。

对于以上特殊字符,可以这么理解:

“,”表示and

“-”表示一个区间段,即开始到结束

“*”表示全选,即用汉语中的“每”或者英文中的every/each/per

“/”表示一个区间段的时长,例如放在第一位“/10”则表示每10秒

“L”表示最后,即Last

“W”表示weekday,即工作日也就是周一到周五

“C”表示canlendar,即日历,例如“1C”在星期位上就是包括日历上的星期日

“#”表示序列,如“#2”表示第二

下面在举例中详细说明:

表达式 表达的时间
0 0 12 * * ? 每天中午12点
0 15 10 ? * * 每天早上10点15分
0 15 10 * * ? 每天早上10点15分
0 15 10 * * ? * 每天早上10点15分
0 15 10 * * ? 2005 2005年的每天早上10点15分
0 * 14 * * ? 每天下午14点钟开始到14点59分结束这么一个时间段
0 0/5 14 * * ? 每天下午14点到14点55分之间每5分钟触发一次
0 0/5 14,18 * * ? 每天下午14点到14点55分 和18点到18点55分之间  每5分钟触发一次
0 0-5 14 * * ? 每天下午14点开始到14点05结束
0 10,44 14 ? 3 WED 每年三月份的每个周三下午14点10分和14点44各一次
0 15 10 ? * MON-FRI 每个工作日的10点15分
0 15 10 15 * ? 每个月15号的上午10点15分
0 15 10 L * ? 每个月最后一天的10点15分
0 15 10 ? * 6L 每个月最后一个周五的10点15分
0 15 10 ? * 6L 2002-2005 2002年到2005年每个月最后一个周五的10点15分
0 15 10 ? * 6#3 每个月的第三个周五的10点15分
0 0 12 1/5 * ? 每个月从第一天开始每隔5天中午12点触发一次
0 11 11 11 11 ? 每年11月11号11点11分



© 著作权归作者所有

共有 人打赏支持
buglife

buglife

粉丝 81
博文 125
码字总数 44248
作品 4
浦东
架构师
spring定时任务初体验

定时任务很简单,就是设置某个时间点,或者是每隔一段时间执行的任务。 我是通过spring注解来配置的,下面记录下配置过程: 首先要做的是添加命名空间及描述: xmlns:task="http://www.sprin...

another_yu ⋅ 2015/11/25 ⋅ 0

Quartz将Job保存在数据库中所需表的说明

QRTZ_CALENDARS 以 Blob 类型存储 Quartz 的 Calendar 信息 QRTZCRONTRIGGERS 存储 Cron Trigger,包括 Cron表达式和时区信息 QRTZFIREDTRIGGERS 存储与已触发的 Trigger 相关的状态信息,以...

Leons ⋅ 2015/08/04 ⋅ 0

Quartz2.2.1配置文件

# Default Properties file for use by StdSchedulerFactory to create a Quartz Scheduler Instance, if a different properties file is not explicitly specified. 集群配置 org.quartz.s......

Mr_Tank_ ⋅ 2014/01/02 ⋅ 0

java quartz 中的时间格式

上一文中提到 Cron触发器可以接受一个表达式来指定执行JOB,下面看看这个表达式的语法。 cron 表达式的格式 Quartz cron 表达式的格式十分类似于 UNIX cron 格式,但还是有少许明显的区别。区...

街头浪子 ⋅ 2016/04/20 ⋅ 0

Spring task定时任务

在工作中有用到spring task作为定时任务的处理,spring通过接口和这两个接口的方式为异步定时任务提供了一种抽象。这就意味着spring容许你使用其他的定时任务框架,当然spring自身也提供了一...

zh151832 ⋅ 2016/09/13 ⋅ 0

java quartz 中的时间格式

实例: <!-- 配置说明 字段 允许值 允许的特殊字符(表示所有值 ?表示未说明的值,即不关心它为何值 -表示一个指定的范围 ,表示附加一个可能值 /符号前表示开始时间,符号后表示每次递增的值)...

飓风2000 ⋅ 2014/06/11 ⋅ 0

springtask实现定时任务

springtask支持注解和配置文件两种形式,下面将分别介绍这两种方式。 第一种:配置文件方式 第一步:编写作业类 即普通的pojo,如下: 查看复制到剪贴板打印 import org.springframework.ste...

stephen_wu ⋅ 2016/08/22 ⋅ 0

用quartz实现多任务动态加载

Quartz是什么 Quartz是一个用Java编写的任务调度框架,任务调度是什么,举例说明:比如我们需要在每个星期四下午三点时候发周报,我们需要一个系统在两点半的时候给我们一个发周报的提醒,这...

随影求是 ⋅ 2012/05/03 ⋅ 0

Rundeck crontab格式

rundeck的crontab任务不同于Linux上边的,它精确到秒级别。另外它还存在几个关键的注意事项。 官网链接:http://www.quartz-scheduler.org/documentation/quartz-1.x/tutorials/crontrigger ...

陈延宗 ⋅ 2014/05/11 ⋅ 0

spring 注解方式配置定时任务及Cron 表达式

今天要用到一个定时查询提醒的功能,用到了定时器,框架是spring mvc,发现timer简单易用,于是查询了timer相关资料,整理了一下。1:spring 配置文件中增加这句 2:确保扫描程序能够扫描后 ...

masterkgw ⋅ 2016/11/05 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

用ZBLOG2.3博客写读书笔记网站能创造今日头条的辉煌吗?

最近两年,著名的自媒体网站今日头条可以说是火得一塌糊涂,虽然从目前来看也遇到了一点瓶颈,毕竟发展到了一定的规模,继续增长就更加难了,但如今的今日头条规模和流量已经非常大了。 我们...

原创小博客 ⋅ 今天 ⋅ 0

MyBatis四大核心概念

本文讲解 MyBatis 四大核心概念(SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper)。 MyBatis 作为互联网数据库映射工具界的“上古神器”,训有四大“神兽”,谓之:Sql...

waylau ⋅ 今天 ⋅ 0

以太坊java开发包web3j简介

web3j(org.web3j)是Java版本的以太坊JSON RPC接口协议封装实现,如果需要将你的Java应用或安卓应用接入以太坊,或者希望用java开发一个钱包应用,那么用web3j就对了。 web3j的功能相当完整...

汇智网教程 ⋅ 今天 ⋅ 0

2个线程交替打印100以内的数字

重点提示: 线程的本质上只是一个壳子,真正的逻辑其实在“竞态条件”中。 举个例子,比如本题中的打印,那么在竞态条件中,我只需要一个方法即可; 假如我的需求是2个线程,一个+1,一个-1,...

Germmy ⋅ 今天 ⋅ 0

Springboot2 之 Spring Data Redis 实现消息队列——发布/订阅模式

一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式,这里利用redis消息“发布/订阅”来简单实现订阅者模式。 实现之前先过过 redis 发布订阅的一些基础概念和操...

Simonton ⋅ 今天 ⋅ 0

error:Could not find gradle

一.更新Android Studio后打开Project,报如下错误: Error: Could not find com.android.tools.build:gradle:2.2.1. Searched in the following locations: file:/D:/software/android/andro......

Yao--靠自己 ⋅ 昨天 ⋅ 0

Spring boot 项目打包及引入本地jar包

Spring Boot 项目打包以及引入本地Jar包 [TOC] 上篇文章提到 Maven 项目添加本地jar包的三种方式 ,本篇文章记录下在实际项目中的应用。 spring boot 打包方式 我们知道,传统应用可以将程序...

Os_yxguang ⋅ 昨天 ⋅ 0

常见数据结构(二)-树(二叉树,红黑树,B树)

本文介绍数据结构中几种常见的树:二分查找树,2-3树,红黑树,B树 写在前面 本文所有图片均截图自coursera上普林斯顿的课程《Algorithms, Part I》中的Slides 相关命题的证明可参考《算法(第...

浮躁的码农 ⋅ 昨天 ⋅ 0

android -------- 混淆打包报错 (warning - InnerClass ...)

最近做Android混淆打包遇到一些问题,Android Sdutio 3.1 版本打包的 错误如下: Android studio warning - InnerClass annotations are missing corresponding EnclosingMember annotation......

切切歆语 ⋅ 昨天 ⋅ 0

eclipse酷炫大法之设置主题、皮肤

eclipse酷炫大法 目前两款不错的eclipse 1.系统设置 Window->Preferences->General->Appearance 2.Eclipse Marketplace下载【推荐】 Help->Eclipse Marketplace->搜索‘theme’进行安装 比如......

anlve ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部