cron 表达式

CronFlow

写一条 cron 表达式,用日常语言读回来,看清它在任意时区究竟何时触发,并直接带走 crontab 行、workflow 或清单文件。

时区处理正确,含夏令时支持 Quartz 的 L、W、# 和 ?过去与未来执行预览
表达式
用日常语言

每 5 分钟执行

*/5 * * * *5 个字段 (Unix)
服务器时区
接下来的执行

正在读取你的时钟…

落在哪些天
1月 2026
31 天中的 31 天
星期
星期
星期
星期
星期
星期
星期
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
执行日的各小时
0006121823

放到目标平台上真的会跑吗?

同样五个字段,在不同调度器眼里含义并不相同。下面这些会拒绝这条表达式,或者悄悄按另一种方式解释它。

Linux crontab

照写照跑。

Kubernetes

照写照跑。

GitHub Actions
  • 始终按 UTC 运行,上面选的时区会被忽略。
  • 计划任务会进入队列,负载高时可能晚很多才开始。
Quartz
  • 需要 6/7 个字段,而不是 5 个。
Spring
  • 需要 6 个字段,而不是 5 个。
AWS EventBridge
  • 需要 6 个字段,而不是 5 个。
node-cron

照写照跑。

Jenkins

照写照跑。

带走它

表达式很少是最终交付物。这才是你真正要粘贴的文件。

# ┌───────────── minute (0-59)
# │ ┌─────────── hour (0-23)
# │ │ ┌───────── day of month (1-31)
# │ │ │ ┌─────── month (1-12)
# │ │ │ │ ┌───── day of week (0-6, Sunday = 0)
# │ │ │ │ │
*/5 * * * * /usr/local/bin/my-job.sh
继续片段跟着你走——不用下载,也不用重新上传

怎么用

1

写出来,或者点出来

直接输入表达式,或者在网格里挑分钟、小时和日期,完全不必碰语法。

2

选对真正要紧的时区

crontab 跑在服务器的时区里,不是你的。选好它,页面上所有时间都会跟着变。

3

读一遍,核对日期

一句母语的说明、接下来和之前的执行,以及一张能看出计划形状的日历。

4

带走你真正需要的文件

一行 crontab、一段 GitHub Actions、一个 Kubernetes CronJob、一个 systemd 定时器、一条 EventBridge 规则等等。

所有时区,含夏令时

执行时刻先按墙上时钟计算,再按时区换算,因此夏令时增删的那一小时会被真正处理,而不是被悄悄报错。

用网格代替语法

精确勾选分钟、小时、日期、月份和星期。Shift+点击选区间。表达式会自动写好。

是日历,不只是列表

月度热力图和小时直方图能看出计划的形状,这是列表里五个时间戳永远说不清的。

七种真正能用的导出

crontab、GitHub Actions、Kubernetes CronJob、systemd OnCalendar、AWS EventBridge、node-cron 和 Spring,都已填好你的命令。

兼容性已检查

Quartz 需要「?」,GitHub Actions 会忽略你的时区,EventBridge 把星期日记为 1。上线之前你就会知道。

什么都不出这个标签页

解析器、调度器和导出器全在你的浏览器里运行。没有 API,不用上传,不用账号。

cron 表达式生成器

CronFlow

CronFlow 能解析 5 字段的标准 crontab 语法,以及 6、7 字段的 Quartz、@daily 系列、@every 间隔、Jenkins 的 H,还有 L、W 和 # 记号。它用你的语言把表达式读回来,在任意 IANA 时区预览下一次和上一次执行,并把它变成你的调度器所需要的文件。

时区处理正确,含夏令时
支持 Quartz 的 L、W、# 和 ?
过去与未来执行预览
七种可直接粘贴的导出格式

算出来的,不是猜的

调度逻辑在民用时间上推进,每命中一次就用浏览器自带的时区数据库换算成时刻,所以换钟那晚 02:30 的任务,展示出来就是它真实的行为。

为你接手的那份 crontab 而写

一次读完整份 crontab

把服务器上的文件粘进来,每一行都会拆成计划、用户和命令,再用日常语言解释一遍:有问题的行会被标出,CRON_TZ 也会自动识别。不按按钮,什么都不会被解析。

完全在你的浏览器里

这个页面背后没有任何 API。解析器、执行时刻搜索、时区换算和所有导出器都是跑在你标签页里的 JavaScript,生产服务器的 crontab 哪儿也不会去。

常见问题

Q我的数据会发到服务器吗?+

不会。解析器、执行时刻搜索和所有导出器都在你的浏览器里运行。粘贴到这里的 crontab 不会离开这个标签页。

Q支持哪些 cron 语法?+

5 字段的标准 crontab、含秒的 6 字段,以及带年份的 7 字段 Quartz。区间、列表、步长,以及 JAN、MON 这类别名。@yearly、@monthly、@weekly、@daily、@midnight、@hourly 简写和 @every 间隔。Quartz 的 L、LW、L-3、15W、FRI#3 和 ?,还有 Jenkins 的 H 记号。

Q为什么要选时区?+

因为 cron 任务跑在机器的时区里,通常是 UTC,几乎不会是你的。搞错这一点,是计划在意外时刻触发的最常见原因。选好服务器的时区,页面上所有时间都会跟着它。

Q换钟那一晚会怎样?+

墙上时钟在那天并不存在的执行会被标记,预览会显示真正存在的下一个时刻。真实的调度器在这里做法并不一致,所以工具选择明确提示,而不是假装只有一个正确答案。

Q为什么「日」和「星期」字段有时表现得很奇怪?+

当两者都不是星号时,经典 cron 会在任意一个匹配时触发,而不是两个都要匹配。「0 0 1 * MON」既在 1 号跑,也在每个星期一跑。工具会套用这条规则并提醒你。

Q能拿到 Kubernetes 或 GitHub Actions 的片段吗?+

可以。导出面板会生成 crontab 行、GitHub Actions 的 schedule 块、Kubernetes CronJob、systemd 的 timer 和 service、AWS EventBridge 表达式、node-cron 调用以及 Spring 的 @Scheduled 注解,并填入你输入的任务名和命令。

Q完全不写 cron 语法也能用吗?+

可以。构建器标签为每个字段提供可点击的网格——挑好分钟、小时、日期、月份和星期,表达式会替你写好。

关键词

cron 表达式生成器crontab 编辑器cron 解析器cron 转中文cron 时区quartz cronkubernetes cronjob 计划github actions cronaws eventbridge cronsystemd oncalendar下次执行时间cron 校验
oLoveTools 套件的一部分
oLoveTools

在任意时区构建、阅读并预览 cron 计划,全部在浏览器里完成。

算出来的,不是猜的

调度逻辑在民用时间上推进,每命中一次就用浏览器自带的时区数据库换算成时刻,所以换钟那晚 02:30 的任务,展示出来就是它真实的行为。

一次读完整份 crontab

把服务器上的文件粘进来,每一行都会拆成计划、用户和命令,再用日常语言解释一遍:有问题的行会被标出,CRON_TZ 也会自动识别。不按按钮,什么都不会被解析。

完全在你的浏览器里

这个页面背后没有任何 API。解析器、执行时刻搜索、时区换算和所有导出器都是跑在你标签页里的 JavaScript,生产服务器的 crontab 哪儿也不会去。

cron 表达式生成器crontab 编辑器cron 解析器cron 转中文cron 时区quartz cronkubernetes cronjob 计划github actions cronaws eventbridge cronsystemd oncalendar下次执行时间cron 校验

常见问题

我的数据会发到服务器吗?

不会。解析器、执行时刻搜索和所有导出器都在你的浏览器里运行。粘贴到这里的 crontab 不会离开这个标签页。

支持哪些 cron 语法?

5 字段的标准 crontab、含秒的 6 字段,以及带年份的 7 字段 Quartz。区间、列表、步长,以及 JAN、MON 这类别名。@yearly、@monthly、@weekly、@daily、@midnight、@hourly 简写和 @every 间隔。Quartz 的 L、LW、L-3、15W、FRI#3 和 ?,还有 Jenkins 的 H 记号。

为什么要选时区?

因为 cron 任务跑在机器的时区里,通常是 UTC,几乎不会是你的。搞错这一点,是计划在意外时刻触发的最常见原因。选好服务器的时区,页面上所有时间都会跟着它。

换钟那一晚会怎样?

墙上时钟在那天并不存在的执行会被标记,预览会显示真正存在的下一个时刻。真实的调度器在这里做法并不一致,所以工具选择明确提示,而不是假装只有一个正确答案。

为什么「日」和「星期」字段有时表现得很奇怪?

当两者都不是星号时,经典 cron 会在任意一个匹配时触发,而不是两个都要匹配。「0 0 1 * MON」既在 1 号跑,也在每个星期一跑。工具会套用这条规则并提醒你。

能拿到 Kubernetes 或 GitHub Actions 的片段吗?

可以。导出面板会生成 crontab 行、GitHub Actions 的 schedule 块、Kubernetes CronJob、systemd 的 timer 和 service、AWS EventBridge 表达式、node-cron 调用以及 Spring 的 @Scheduled 注解,并填入你输入的任务名和命令。

完全不写 cron 语法也能用吗?

可以。构建器标签为每个字段提供可点击的网格——挑好分钟、小时、日期、月份和星期,表达式会替你写好。

© 2026 oLoveTools关于

下一步

转换时间戳 EpochFlow

CronFlow | cron 表达式编辑器、翻译与执行预览 — 支持时区,100% 在浏览器内

用日常语言构建和阅读 cron 表达式,在任意时区预览下一次与上一次执行,检查与 crontab、Quartz、Kubernetes、GitHub Actions 和 EventBridge 的兼容性,并导出所需片段。数据不会离开浏览器。

常见问题

我的数据会发到服务器吗?

不会。解析器、执行时刻搜索和所有导出器都在你的浏览器里运行。粘贴到这里的 crontab 不会离开这个标签页。

支持哪些 cron 语法?

5 字段的标准 crontab、含秒的 6 字段,以及带年份的 7 字段 Quartz。区间、列表、步长,以及 JAN、MON 这类别名。@yearly、@monthly、@weekly、@daily、@midnight、@hourly 简写和 @every 间隔。Quartz 的 L、LW、L-3、15W、FRI#3 和 ?,还有 Jenkins 的 H 记号。

为什么要选时区?

因为 cron 任务跑在机器的时区里,通常是 UTC,几乎不会是你的。搞错这一点,是计划在意外时刻触发的最常见原因。选好服务器的时区,页面上所有时间都会跟着它。

换钟那一晚会怎样?

墙上时钟在那天并不存在的执行会被标记,预览会显示真正存在的下一个时刻。真实的调度器在这里做法并不一致,所以工具选择明确提示,而不是假装只有一个正确答案。

为什么「日」和「星期」字段有时表现得很奇怪?

当两者都不是星号时,经典 cron 会在任意一个匹配时触发,而不是两个都要匹配。「0 0 1 * MON」既在 1 号跑,也在每个星期一跑。工具会套用这条规则并提醒你。

能拿到 Kubernetes 或 GitHub Actions 的片段吗?

可以。导出面板会生成 crontab 行、GitHub Actions 的 schedule 块、Kubernetes CronJob、systemd 的 timer 和 service、AWS EventBridge 表达式、node-cron 调用以及 Spring 的 @Scheduled 注解,并填入你输入的任务名和命令。

完全不写 cron 语法也能用吗?

可以。构建器标签为每个字段提供可点击的网格——挑好分钟、小时、日期、月份和星期,表达式会替你写好。

关键词

cron 表达式生成器, crontab 编辑器, cron 解析器, cron 转中文, cron 时区, quartz cron, kubernetes cronjob 计划, github actions cron, aws eventbridge cron, systemd oncalendar, 下次执行时间, cron 校验