Download the PHP package yunadmin/cron-schedule without Composer
On this page you can find all versions of the php package yunadmin/cron-schedule. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Please rate this library. Is it a good library?
Informations about the package cron-schedule
yunadmin/cron-schedule
PHP CRON 表达式解析与运行时间计算库,支持 PHP 8.0+。
功能特性
- 同时支持 5 段(分 时 日 月 周)与 6 段(秒 分 时 日 月 周,含秒级精度)表达式
- 支持所有标准语法:
* , / - ? L W #,以及月份/星期名称字面量(JAN–DEC、MON–SUN) - 支持宏别名:
@yearly/@annually/@monthly/@weekly/@daily/@hourly - 全程使用
DateTimeImmutable,不会改动调用方传入的 DateTime 对象 - 不可达表达式检测:如
0 0 30 2 *(二月没有 30 天)会抛出UnreachableExpressionException - 清晰的异常体系:
InvalidExpressionException(表达式非法)、UnreachableExpressionException(表达式不可达) - 表达式规范化(
normalize())与人类可读描述(describe()) - 对夏令时(DST)切换和时区做了安全处理
安装
本项目已通过 PSR-4 自动加载(
YunAdmin\CronSchedule\→src/)。 若作为本地包使用,可在主项目的composer.json中配置:然后执行
composer dump-autoload。
快速开始
使用方式详解
1. 解析表达式
宏别名会被自动展开:
2. 计算运行时间
3. 判断是否到期
4. 校验表达式
5. 表达式规范化和可读描述
6. 异常与错误处理
表达式语法速查
| 符号 | 含义 | 示例 |
|---|---|---|
* |
任意值 | * 每分钟/每小时 |
, |
枚举多个值 | 1,15,30 |
- |
范围 | 9-17(9 点到 17 点) |
/ |
步长 | */15(每 15 分钟)、0-30/10 |
? |
不指定(日与周二选一留空) | 0 0 ? * 1 |
L |
最后一天 / 最后一个星期几 | 0 0 L * *、0 0 * * 5L |
W |
最近的工作日 | 0 0 15W * * |
# |
第 n 个星期几(n 取 1–5) | 0 0 * * 2#1(第一个星期二,编号 1=周一 … 7/0=周日) |
| 名称字面量 | 月份/星期 | JAN-DEC、MON-SUN |
字段顺序(5 段):分 时 日 月 周
字段顺序(6 段):秒 分 时 日 月 周
星期中
0与7均表示星期日;「日」与「星期」同时指定具体值时,采用「任一满足即可」的语义。
许可证
MIT
All versions of cron-schedule with dependencies
PHP Build Version
Package Version
Requires
php Version
>=8.0
The package yunadmin/cron-schedule contains the following files
Loading the files please wait ...