hutool.cron.cron_validator

Quartz 风格 Cron 表达式校验工具类。

Module Contents

Classes

CronValidator

Cron 表达式校验工具类。

API

class hutool.cron.cron_validator.CronValidator

Cron 表达式校验工具类。

支持 Quartz 风格 6-7 字段 cron 表达式的逐字段校验和整体校验。

字段格式:

      []

特殊字符说明:

  • * : 匹配任意值

  • - : 范围 (如 1-5)

  • / : 步长 (如 0/5)

  • , : 列举多个值 (如 1,3,5)

  • ? : 不指定(日、周字段)

  • L : 最后(日、周字段)

  • W : 最近工作日(日字段)

  • # : 第几个星期几 (如 6#3 表示第三个星期五)

static _valid_range(search_str: str, start_range: int, end_range: int) bool

校验范围表达式 (如 1-5) 是否在合法区间内。

static _valid_sum(search_str: str, start_range_a: int, start_range_b: int, end_range_a: int, end_range_b: int, sum_range: int) bool

校验步长表达式 (如 0/5) 是否在合法区间内。

static validate_second_or_minute(second_or_minute: str) bool

校验秒或分钟字段是否合法。

合法值:*、范围 (0-59)、步长 (0/5)、枚举 (1,3,5)。

参数:

second_or_minute – 秒或分钟值

返回:

是否合法

static validate_hour(hour: str) bool

校验小时字段是否合法。

合法值:*、范围 (0-23)、步长 (0/2)、枚举 (1,3,5)。

参数:

hour – 小时值

返回:

是否合法

static validate_day(day: str) bool

校验日字段是否合法。

合法值:*?LW、范围、步长、枚举。

参数:

day – 日值

返回:

是否合法

static validate_month(month: str) bool

校验月字段是否合法。

合法值:*、范围 (1-12)、步长、枚举。

参数:

month – 月值

返回:

是否合法

static validate_week(week: str) bool

校验周字段是否合法。

合法值:*?L#、范围 (1-7)、枚举。

参数:

week – 周值

返回:

是否合法

static validate_year(year: str) bool

校验年字段是否合法。

合法值:*、范围、步长、枚举(4 位年份,当前年至 2099)。

参数:

year – 年值

返回:

是否合法

static validate(cron_expression: str) bool

校验 Cron 表达式是否合法。

支持 6 字段 (秒 分 时 日 月 周) 和 7 字段 (秒 分 时 日 月 周 年) 格式。

参数:

cron_expression – Cron 表达式

返回:

是否合法

示例:

>>> CronValidator.validate("0 0 12 * * ?")
True
>>> CronValidator.validate("0 0/5 14 * * ?")
True
>>> CronValidator.validate("invalid")
False
static validate_cron_expression(cron_expression: str) bool

校验 Cron 表达式是否合法(validate 的别名)。

参数:

cron_expression – Cron 表达式

返回:

是否合法

static is_valid(cron_expression: Optional[str]) bool

判断 Cron 表达式是否合法。

None 或空字符串返回 False

参数:

cron_expression – Cron 表达式

返回:

是否合法