heartsentwined / cron-expr-parser
Parse cron expressions and match them against time.
Installs: 12 026
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 3
Forks: 5
pkg:composer/heartsentwined/cron-expr-parser
Requires
- php: >=5.3.3
- yalesov/arg-validator: 2.*
Requires (Dev)
README
Parse cron expressions and match them against time.
Installation
{
  "require": {
    "yalesov/cron-expr-parser": "2.*"
  }
}
Usage
Parse a Cron expression and a time, and determine if the given time falls within the given cron expression.
use Yalesov\CronExprParser\Parser; $match = Parse::matchTime('next Thursday', '* * * * 4'); $notMatch = Parse::matchTime('next Friday', '* * * * 4');
Function signature:
public static function matchTime($time, $expr)
$time is either a timestamp, or a strtotime-compatible string.
$expr is any valid cron expression, in addition supporting:
- range: 0-5
- range + interval: 10-59/5
- comma-separated combinations of these: 1,4,7,10-20
- English months: january
- English months (abbreviated to three letters): jan
- English weekdays: monday
- English weekdays (abbreviated to three letters): mon
- These text counterparts can be used in all places where their numerical counterparts are allowed, e.g. jan-jun/2
- A full example: 0-5,10-59/5 * 2-10,15-25 january-june/2 mon-fri(every minute between minute 0-5 + every 5th minute between 10-59; every hour; every day between day 2-10 and day 15-25; every 2nd month between January-June; Monday-Friday)