Cron 表达式解析 API

解析 5 段 / 6 段 Cron 表达式,给出中文说明和接下来的执行时间(北京时间)

数据来源:本地计算

返回统一的 JSON 格式 { code, message, cached, stale, updatedAt, data },支持跨域,免注册每天可免费调用 100 次,注册后每天 10000 次。

Cron 表达式解析:中文说明 + 未来 N 次执行时间(北京时间)

GET /api/tools/cron

请求参数

  • expression(必填):Cron 表达式:5 段(分 时 日 月 周)或 6 段(秒 分 时 日 月 周);支持 * ? , - /、月份和星期英文缩写(JAN、MON)、周日写 0 或 7,以及 @yearly @monthly @weekly @daily @hourly;不支持 L W # 扩展,示例 0 9 * * 1-5
  • count:返回接下来几次执行时间(1~20),示例 3
  • from:从哪个时间之后开始算:Unix 时间戳(秒或毫秒),或北京时间 YYYY-MM-DD HH:mm:ss;不传为当前时间,示例 2026-01-01 00:00:00

返回字段

  • expression(string):输入的表达式(多余空白合并为一个空格)
  • normalized(string):实际计算用的表达式;@daily 等简写会展开成 5 段,如 0 0 * * *
  • hasSeconds(boolean):是否为带秒的 6 段表达式
  • description(string):自动生成的中文说明,如 每周一至周五 09:00 执行(北京时间)
  • fields(object):各段原文
  • fields.second(string):秒(0~59);5 段表达式固定为 0
  • fields.minute(string):分(0~59)
  • fields.hour(string):时(0~23)
  • fields.dayOfMonth(string):日(1~31)。与“周”都不是 * 时,两者满足其一即执行(与 Linux crontab 一致)
  • fields.month(string):月(1~12 或 JAN~DEC)
  • fields.dayOfWeek(string):周(0~7 或 SUN~SAT,0 和 7 都是周日)
  • timezone(string):计算使用的时区,固定为 Asia/Shanghai(北京时间,UTC+8)
  • next(array):接下来的执行时间,按时间先后排列,长度一般等于 count;8 年内执行次数不足时会更少
  • next[].time(string):北京时间,YYYY-MM-DD HH:mm:ss
  • next[].weekday(string):北京时间当天是星期几,如 星期一
  • next[].iso(string):ISO 8601 UTC 时间
  • next[].timestamp(number):Unix 时间戳(秒)