Cron 是 Linux 定时任务的写法:五个字段依次是分钟(0–59)、小时(0–23)、日(1–31)、月(1–12)、星期(0–7,0 和 7 都表示星期日),字段之间用空格隔开。每个字段可以写 *(不限)、单个数字、逗号列表(如 1,15,30)、连字符范围(如 9-18),再配上 /步长(如 */15 表示每 15 个单位、9-18/2 表示范围内每隔 2 个)。把表达式粘进来点「解析」,工具会先逐字段验对错——哪个字段写错了会直接指出——再按真实日历(大小月、闰年 2 月 29 日都算对)从现在往后推,列出接下来 5 次触发时间。
有一个容易踩的语义细节:当「日」和「星期」两个字段都不是 * 时,标准 cron 是「满足任意一个就触发」(或的关系),不是两个都满足。本工具按这个标准口径计算;如果你的定系统来自某个云厂商或框架,请以对方文档为准,个别实现会用「且」。
多半是日期组合不存在,比如 2 月 31 日:字段范围都合法,但永远等不到那一天。本工具最多往后推约一年,找不到就会如实告诉你,而不是编一个时间。
不能。带秒的六段式(秒 分 时 日 月 周)是 Quartz 等框架的扩展写法,本工具只处理标准五段式 cron。把最前面的秒字段去掉再试。
同样不在范围内。@daily 等价于 0 0 * * *,@hourly 等价于 0 * * * *,@weekly 等价于 0 0 * * 0,换成五段式再粘进来即可。