

GitHub - dragonmantank/cron-expression: CRON for PHP: Calculate the next or prev...
source link: https://github.com/dragonmantank/cron-expression
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md
PHP Cron Expression Parser
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 = 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 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 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)
Requirements
- PHP 7.0+
- PHPUnit is required to run the unit tests
- Composer is required to run the unit tests
Recommend
-
81
README.md PHP Cron Expression Parser
-
52
README.md
-
6
Node Cron The node-cron module is tiny task scheduler in pure JavaScript for node.js based on GNU crontab. This module allows you to schedule task in...
-
21
crontab guru The quick and simple editor for cron schedule expressions by
-
6
Prev-gen. Razer Blade Pro 17 with 300Hz display and RTX 2080 Super hits new low at $2,099 ...
-
7
Problem When creating Azure Function with Timer trigger, we usually write CRON expression like [TimerTrigger("*/2 * * * *")] in our function code. It works most of the case, but when you need to dynamically adjust your...
-
9
Apple’s prev-gen. Magic Keyboard with Numeric Keypad falls to 2022 low at $103 (20% off) ...
-
8
Macbook air Monetery OS How do I get rid of annoying grey bars on sides of preview images? ...
-
7
Apple’s now prev-gen. M1 MacBook Pro sees $519 refurb discounts at new lows from $850
-
5
Ranked #15 for todayCronToolCron expression editor & debuggerA free tool to debug, edit, learn and view crontab/cron expressions. Write...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK