dfun90/cron-expression
Composer 安装命令:
composer require dfun90/cron-expression
包简介
CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due
关键字:
README 文档
README
The PHP cron expression parser can parse a CRON expression, determine if it is due to run, calculate the next run date of the expression, and calculate the previous run date of the expression. You can calculate dates far into the future or past by skipping n number of matching dates.
The parser can handle increments of ranges (e.g. */12, 2-59/3), intervals (e.g. 0-9), lists (e.g. 1,2,3), W to find the nearest weekday for a given day of the month, L to find the last day of the month, L to find the last given weekday of a month, and hash (#) to find the nth weekday of a given month.
More information about this fork can be found in the blog post here. tl;dr - v2.0.0 is a major breaking change, and @dragonmantank can better take care of the project in a separate fork.
Installing
Add the dependency to your project:
composer require dragonmantank/cron-expression
Usage
<?php require_once '/vendor/autoload.php'; // Works with predefined scheduling definitions $cron = new Cron\CronExpression('@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 = new Cron\CronExpression('3-59/15 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 = new Cron\CronExpression('@daily'); echo $cron->getNextRunDate(null, 2)->format('Y-m-d H:i:s'); // Calculate a run date relative to a specific time $cron = new Cron\CronExpression('@monthly'); echo $cron->getNextRunDate('2010-01-12 00:00:00')->format('Y-m-d H:i:s');
CRON Expressions
A CRON expression is a string representing the schedule for a particular command to execute. The parts of a CRON schedule are as follows:
* * * * *
- - - - -
| | | | |
| | | | |
| | | | +----- day of week (0 - 7) (Sunday=0 or 7)
| | | +---------- month (1 - 12)
| | +--------------- day of month (1 - 31)
| +-------------------- hour (0 - 23)
+------------------------- min (0 - 59)
This library also supports a few macros:
@yearly,@annually- Run once a year, midnight, Jan. 1 -0 0 1 1 *@monthly- Run once a month, midnight, first of month -0 0 1 * *@weekly- Run once a week, midnight on Sun -0 0 * * 0@daily,@midnight- Run once a day, midnight -0 0 * * *@hourly- Run once an hour, first minute -0 * * * *
Requirements
- PHP 7.2+
- PHPUnit is required to run the unit tests
- Composer is required to run the unit tests
Projects that Use cron-expression
- Part of the Laravel Framework
- Available as a Symfony Bundle - setono/cron-expression-bundle
- Framework agnostic, PHP-based job scheduler - Crunz
统计信息
- 总下载量: 6
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2022-06-20