a3020 / cron-expression
PHP CRON 表达式:计算下一次或上一次运行日期,并确定 CRON 表达式是否应该运行
1.2.1
2017-12-27 13:58 UTC
Requires
- php: >=5.6
Requires (Dev)
- phpunit/phpunit: ~4.0|~5.0
This package is auto-updated.
Last update: 2024-09-09 22:03:41 UTC
README
注意:这是对 https://github.com/dragonmantank/cron-expression/releases/tag/v1.2.1 的分支
PHP Cron 表达式解析器
PHP cron 表达式解析器可以解析 CRON 表达式,确定是否应该运行,计算表达式的下一次运行日期,以及计算表达式的上一次运行日期。您可以通过跳过 n 个匹配日期来计算未来或过去的日期。
解析器可以处理范围增量(例如 */12,2-59/3),间隔(例如 0-9),列表(例如 1,2,3),W 以找到给定月份的最近一周,L 以找到月份的最后一天,L 以找到月份的最后一个给定星期,以及 # 以找到给定月份的第 n 个星期。
安装
将依赖项添加到您的项目中
composer require a3020/cron-expression
使用方法
<?php require_once '/vendor/autoload.php'; // Works with predefined scheduling definitions $cron = Cron\CronExpression::factory('@daily'); $cron->isDue(); echo $cron->getNextRunDate()->format('Y-m-d H:i:s'); echo $cron->getPreviousRunDate()->format('Y-m-d H:i:s'); // Works with complex expressions $cron = Cron\CronExpression::factory('3-59/15 2,6-12 */15 1 2-5'); echo $cron->getNextRunDate()->format('Y-m-d H:i:s'); // Calculate a run date two iterations into the future $cron = Cron\CronExpression::factory('@daily'); echo $cron->getNextRunDate(null, 2)->format('Y-m-d H:i:s'); // Calculate a run date relative to a specific time $cron = Cron\CronExpression::factory('@monthly'); echo $cron->getNextRunDate('2010-01-12 00:00:00')->format('Y-m-d H:i:s');
CRON 表达式
CRON 表达式是一个字符串,表示特定命令的执行计划。CRON 调度的各个部分如下
* * * * * *
- - - - - -
| | | | | |
| | | | | + year [optional]
| | | | +----- day of week (0 - 7) (Sunday=0 or 7)
| | | +---------- month (1 - 12)
| | +--------------- day of month (1 - 31)
| +-------------------- hour (0 - 23)
+------------------------- min (0 - 59)
要求
- PHP 5.6+
- 需要 PHPUnit 来运行单元测试
- 需要 Composer 来运行单元测试