cron表达式格式、7个域及符号使用

一. cron表达式格式

cron表达式格式为7个域, 如:

秒 分 时 日 月 周 年

每一个域之间空格隔开, 不指定"年"域时, 年域可省略不写, 如:

 秒 分 时 日 月 周

二. cron表达式7个域代表 

字段名                 允许的值                        允许的特殊字符  
秒                     0-59                            , - * /  
分                     0-59                            , - * /  
时                     0-23                            , - * /  
日                     1-31                            , - * ? / L W C  
月                     1-12 or JAN-DEC                 , - * /  
周                     1-7 or SUN-SAT                   , - * ? / L C #  
年(可选字段)            empty, 1970-2099                 , - * /

 ***注意***: 在"周"域中, 使用数值表示时, 7表示周六, 1表示周日

三. 符号使用说明

 所有域可使用: ","  "-"  "*"  "/"

, 表示x和y
- 表示x到y
* 表示每time
/ 表示从x起, 没隔y

"日"域另有"?"  "L"  "W"  "C"

? 表示不指定"日"域的值。规则是指定"周"域, 则"日"域必须为"?"。反之, 指定"日"域, 则"周"域必须为"?"。
  如: 0 0 12 ? * MON 或 0 0 12 1 * ?


L 2种写法: 
         一, 表示月末几天, 如2L, 表示月末的2天
         二, 表示月末倒数第几天, 如L-3, 表示月末倒数第3天

W 表示临近某日的工作日, 如15W, 表示最接近15号的工作日, 可能是15号(刚好是工作日)、15号前(刚好周六) 
  或 15号后(刚好周日)

C 表示和Calendar(日历)计划关联的值, 如1C表示, 1日或1日后包括的Calendar(日历)的第一天

LW L和W的组合, 只能出现在"日"域中, 表示某日最后一个工作日, 不一定是周五(详情见结尾ps)

 "周"域另有"?"  "L"  "#"  "C"

? 表示不指定"周"域。规则是知道"日"域值, 则"周"域值必须为"?"。反之, 则"日"域中必须为"?"。
 如: 0 0 12 1 * ? 或 0 0 12 ? * MON

L 表示某月的最后一个周几, 如1L, 表示某月的最后一个周日(1表示周日), 7L, 表示某月的最后一个周六(7表 
  示周六)

# 只能出现在"周"域中, 表示第几个周几, x#y, y表示第几个, x表示周的值, 
  如6#2, 表示第二个周五(6表示周五)

C 表示和Calendar(日历)计划关联的值, 如1C表示, 周日或周日后包括的Calendar(日历)的第一天

***注意***

"日"域中, L和W组合时为"LW"时, 网上有很多种定义, 如:

说法1: LW表示某月最后一个工作日
说法2: LW表示某月最后一周的最后一个工作日, 即周五

四. 子表达式范围 

1.Seconds 秒: (0~59)
2.Minutes 分: (0~59)
3.Hours 时:   (0~23)
4.Day-of-Month天:  (1~31,但是要注意有些月份没有31天)
5.Month 月:        (0~11,或者"JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV,DEC")
6.Day-of-Week周:   (1~7,1=SUN 或者"SUN, MON, TUE, WED, THU, FRI, SAT”)
7.Year年:          (1970~2099)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Vue 3是一种流行的JavaScript框架,用于构建用户界面。它并不直接涉及cron表达式格式,因为cron表达式是用于调度任务的时间表达式,与Vue 3框架本身无关。但是,如果你在Vue 3项目中需要使用cron表达式,你可以使用第三方库来解析和处理cron表达式。 一个常见的第三方库是`cron-parser`,它可以帮助你解析和计算cron表达式。下面是一个示例,展示了如何在Vue 3项目中使用`cron-parser`库来解析cron表达式: 首先,你需要安装`cron-parser`库。可以使用npm或yarn来安装: ``` npm install cron-parser ``` 然后,在你的Vue 3组件中引入`cron-parser`库: ```javascript import CronParser from 'cron-parser'; ``` 接下来,你可以使用`CronParser.parseExpression()`方法来解析cron表达式,并获取相关的时间信息。例如: ```javascript const expression = '0 0 * * *'; // 这是一个每天凌晨执行的cron表达式 const options = { currentDate: new Date(), tz: 'Asia/Shanghai' // 设置时区 }; try { const interval = CronParser.parseExpression(expression, options); const nextExecution = interval.next().toString(); // 获取下一次执行的时间 console.log('下一次执行时间:', nextExecution); } catch (err) { console.error('解析cron表达式出错:', err); } ``` 上述代码中,我们使用`CronParser.parseExpression()`方法解析了一个cron表达式,并通过`interval.next().toString()`获取了下一次执行的时间。你可以根据自己的需求,进一步处理和利用这些时间信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yixian123.com

谢谢打赏,祝老板心想事成

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值