Skip to content
Cron 表达式构建器
Tools

Cron 表达式构建器

用通俗语言解释 Cron 计划,并预览接下来的执行时间。

Cron flavour

Nicknames & common schedules
Visual builder
Meaning

Next runs

    Cron operators & field reference
    Token Meaning Example
    *Every value* * * * *
    ,List of values0 9,17 * * *
    -Range of values0 9 * * 1-5
    /Step (every Nth)*/15 * * * *
    ?No specific value (Quartz / AWS)0 0 12 * * ?
    LLast day / last weekday0 0 L * ?
    WNearest weekday0 0 15W * ?
    #Nth weekday of month0 0 ? * 6#3

    Runs entirely in your browser. Nothing is uploaded.

    构建和解析任意 Cron 表达式

    这款 Cron 表达式生成器同时支持两种操作模式。通过可视化字段构建计划,表达式会自动生成;或者输入一个表达式——也可从配置文件粘贴——工具会将其解析为中文说明,验证每个字段,并预览下次运行时间。它集 Cron 构建器Crontab 生成器Cron 表达式验证器于一体,所有操作均在浏览器本地完成。

    无论是配置 Linux crontab 条目、CI 流水线、Spring @Scheduled 任务、GitHub Actions 工作流计划,还是 AWS EventBridge 规则——都能一次性写对语法,无需猜测和反复重新部署。

    五个 Cron 字段——以及秒字段

    标准 Unix Cron 表达式包含五个字段:分钟(0–59)、小时(0–23)、日期(1–31)、月份(1–12 或 JAN–DEC)和星期几(0–6 或 SUN–SAT)。Quartz、Spring 和 Azure 在最前面添加字段,Quartz 和 AWS 在末尾可选添加年份字段。构建器会显示所选格式所需的确切列数,确保你不会数错字段。

    星期几字段最容易被误读。Unix 和 Spring 将其编号为 0–6,0 = 周日(7 也表示周日);而 Quartz 和 AWS 将其编号为 1–7,1 = 周日。因此同一数字在不同系统中可能代表不同的日期——描述器始终会明确写出星期名称。

    运算符:*、,、- 和 /

    四个运算符几乎能覆盖所有计划。星号 * 匹配该字段的所有值。逗号构建列表1,15 = 1日和15日)。连字符构建范围MON-FRI = 工作日)。斜杠添加步长*/10 = 每第10个值;0/30 = 从0开始每30个)。组合使用——*/15 9-17 * * 1-5 表示"工作日上午9点到下午5点每15分钟"。Quartz 和 AWS 还支持高级标记,如 L(最后)、W(最近工作日)和 #(第n个星期几),工具会在说明中解释这些标记。

    多种 Cron 格式:Unix、Quartz、Spring、AWS 和 Azure

    大多数在线工具只支持5字段的 Unix Cron。本工具可在 Unix/crontabQuartz(Java,6–7字段)、Spring@Scheduled,6字段)、AWS EventBridge(6字段,含年份,需要 ?)和 Azure NCRONTAB(6字段)之间切换。选择不同格式会改变字段集、星期几的编号方式和语法规则——包括 Quartz 和 AWS 要求日期或星期几其中之一必须为 ?——确保你复制的表达式在目标系统中实际有效。

    与 crontab.guru 及其他 Cron 工具的对比

    Crontab.guru 是最知名的 Cron 解析器,但它是只读的——粘贴表达式后会解释,但没有可视化构建器,也不支持 Quartz、Spring、AWS EventBridge 或 Azure NCRONTAB。freeformatter.com/cron-expression.html 等工具支持 Quartz,但缺少可视化构建器和下次运行预览。CronhubCronitor 是完整的 Cron 监控平台,需要注册免费账户才能验证表达式。

    本工具覆盖全部五种格式,提供可视化构建器、纯文字解析器、字段级验证和下次运行时间线——所有功能在一个页面上,无需账户,无需上传。表达式始终留在你的浏览器中,适合处理内部作业名称或不想发送到第三方服务器的敏感计划配置。

    预览下次运行时间并实时验证

    下次运行时间面板回答了真正的问题——"这个计划实际上什么时候会触发?"——它在你的本地时区计算即将到来的执行时间,让复杂的日期与星期几组合不再让你措手不及。如果某个字段超出范围或包含错误数量的值,验证器会指出具体问题,而不是静默失败。

    从快捷按钮(@hourly@daily@weekly@monthly@yearly)或常用计划库开始——每5、15或30分钟,工作日上午9点,每月1日——然后微调任意字段。复制完成的表达式,或复制一个可分享的链接,打开后自动加载你的计划和格式设置。

    私密、即时且免费——适用于任何设备

    无需安装,无需创建账户。解析、说明、验证和下次运行计算全部在你的设备上通过 JavaScript 运行——你的表达式永远不会被上传、记录或共享。本工具适用于 iPhoneAndroid、Mac、Windows 和 Linux——在任何浏览器中打开即可完整使用。将这款 Cron 表达式生成器加入书签,作为你读写和检验各种格式 Cron 计划的首选工具。

    Frequently asked questions

    什么是 Cron 表达式?

    Cron 表达式是一串简短的字段,用于告知调度器——Unix cron、Quartz、Spring、AWS EventBridge、Azure Functions——何时运行任务。经典的 Unix Cron 表达式包含五个以空格分隔的字段:分钟、小时、日期、月份和星期几。例如,'*/15 9-17 * * 1-5' 表示周一至周五09:00到17:00每15分钟执行一次。构建器会将你的选择转换为表达式,并自动以中文解释。

    如何读懂 Cron 表达式?

    从左到右逐字段读取。以 '0 9 * * 1' 为例:分钟为0,小时为9,日期为*(任意),月份为*(任意),星期几为1(周一)——因此每周一09:00执行。星号表示该字段的"所有值"。Quartz 和 Spring 在前面添加秒字段,因此其表达式从第六个值开始。将任意表达式粘贴到本工具,即可获得每个字段的中文说明。

    Cron 的5个字段分别代表什么?

    依次为:分钟(0–59)、小时(0–23)、日期(1–31)、月份(1–12,或 JAN–DEC)和星期几(0–6,其中0和7均为周日,或 SUN–SAT)。因此 '30 8 1 * *' 读作第30分钟、第8小时、第1日、任意月份、任意星期——即每月1日08:30执行。构建器的每一列对应其中一个字段,无需记忆位置顺序。

    如何设置每天午夜执行的任务?

    使用 '0 0 * * *'——分钟0,小时0,每天。在 Quartz 或 Spring(前面有秒字段)中变为 '0 0 0 * * ?'。昵称 @daily(也称 @midnight)是 Vixie-cron 的简写。点击上方的 @daily 可一键设置,然后根据需要切换格式选择器以获取 Quartz 或 AWS 版本。

    Unix、Quartz、Spring 和 AWS Cron 有什么区别?

    主要区别在于字段数量和星期几的编号方式。Unix/crontab 使用5个字段(无秒),星期几0–6,0=周日。Quartz 使用6或7个字段(秒在前,年份可选),星期几1–7,1=周日,且日期或星期几其中之一必须为'?'。Spring 使用6个字段(秒在前),类似 Quartz,但星期几保持 Unix 风格0–7。AWS EventBridge 使用6个字段(含年份),同样需要'?'。Azure NCRONTAB 使用6个字段(秒在前),星期几0–6。

    @daily、@hourly、@weekly 和 @reboot 是什么意思?

    这些是 Cron 昵称——Vixie cron 和 Spring 支持的可读简写。@hourly 等于 '0 * * * *',@daily(或 @midnight)等于 '0 0 * * *',@weekly 等于 '0 0 * * 0',@monthly 等于 '0 0 1 * *',@yearly(或 @annually)等于 '0 0 1 1 *'。@reboot 比较特殊:它在 cron 服务启动时执行一次,而非按时钟触发,因此没有"下次运行时间"。Quartz、AWS 和 Azure 不接受昵称——在这些系统中请使用数字形式。

    使用这个 Cron 生成器需要注册账户吗?

    无需账户,无需注册,无需安装,也无需上传任何文件。构建器、解析器、验证器和下次运行计算器全部通过 JavaScript 直接在你的浏览器中运行。你的表达式保留在本地设备上——不会向任何服务器发送数据。页面加载后,本工具也支持离线使用。

    Related tools

    查看全部工具