Cron表达式解析器

输入Cron表达式以查看其易读描述、字段分解和接下来的10次执行时间。所有处理均在您的浏览器中完成。

人类可读描述

字段详解

字段含义

接下来10次执行时间

    关于Cron表达式

    Cron表达式定义类Unix系统上的周期性任务调度。标准表达式有5个字段:

    字段范围特殊字符
    分钟0-59* , - /
    小时0-23* , - /
    月份中的日1-31* , - / ?
    月份1-12, JAN-DEC* , - /
    星期几0-7(0和7 = 周日), SUN-SAT* , - / ?

    下次运行是按你选的时区算的,不是按你所在的时区,因为 crontab 是在服务器所在的地方触发,而那通常是 UTC。凡是能写数字的地方都能写三字母名称,所以 MON-FRI 和 JAN 照写就能用。超出字段范围的值、为零的步长、以及倒着走的区间都会被拒绝,而不是悄悄产出一个永远不会触发的计划。当两个日期字段都被限定时,页面会提示,因为 cron 把这一对当作「或」而不是「且」,很多人会在这里栽跟头。

    又在手工整理数据?

    每次都要在浏览器标签页里修一遍的数据,本该交给代码。我们构建在系统之间搬运数据的集成、解析器和服务,也修好那些在半路上悄悄把数据弄坏的东西。

    告诉我们你在搬什么

    常见问题

    为什么我的任务跑得比预期还勤?
    通常是因为两个日期字段都填了。当日期和星期都不是星号时,cron 是在其中任意一个匹配时运行,而不是两个都匹配时。所以 0 0 1 * 1 会在每月一号触发,也会在每个周一触发。你的表达式一旦是这个形状,本页面就会提醒你。
    下次运行用的是哪个时区?
    你选的那个,默认是 UTC 而不是你所在的时区,因为 crontab 是在服务器所在的地方触发的。如果你的主机跑在某个地区时区,就选它;另外记得夏令时可能让每日任务跳过或重复一个小时。
    能写 MON-FRI 代替 1-5 吗?
    能。凡是能写数字的地方都能写三字母名称,月份和星期都适用,所以 JAN、DEC、MON、SUN 都能解析。周日写 0 或 7 都行,两者都接受,这也是为什么 6-7 这样的区间能覆盖整个周末。
    星号加斜杠是什么意思?
    表示步长。分钟字段里的 */15 表示从 0 开始每隔十五分钟,也就是 0、15、30、45。从别的地方起步也行:5/15 表示从第 5 分钟起,每十五分钟一次。步长为 0 是无效的,本页面会告诉你,而不是卡死。
    支持多出来的秒字段吗?
    能解析,Quartz 和好几个任务调度器用的就是这种形式,所以六字段的表达式也能被正确描述。下次运行的列表按分钟粒度工作,因为原生 cron 就到这个粒度,而秒字段只是在每个匹配到的分钟内部再收窄一层。