Skip to content

azurre/php-cron-expr-parser

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yalesov\CronExprParser

Build Status

Parse cron expressions and match them against time.

Installation

Composer:

{
  "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)

About

Parse cron expressions and match them against time.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%