heartsentwined/cron-expr-parser

解析 cron 表达式并与时间进行匹配。

v2.0.5 2016-07-06 12:20 UTC

This package is not auto-updated.

Last update: 2024-09-14 12:17:27 UTC


README

Build Status

解析 cron 表达式并与时间进行匹配。

安装

Composer:

{
  "require": {
    "yalesov/cron-expr-parser": "2.*"
  }
}

用法

解析一个 cron 表达式和一个时间,并确定给定时间是否在给定的 cron 表达式范围内。

use Yalesov\CronExprParser\Parser;
$match    = Parse::matchTime('next Thursday', '* * * * 4');
$notMatch = Parse::matchTime('next Friday', '* * * * 4');

函数签名

public static function matchTime($time, $expr)

$time 可以是一个时间戳,或者一个 strtotime 兼容的字符串。

$expr 是任何有效的 cron 表达式,同时支持以下格式:

  • 范围: 0-5
  • 范围加间隔: 10-59/5
  • 这些范围的逗号分隔组合: 1,4,7,10-20
  • 英文月份: january
  • 英文月份(缩写为三个字母): jan
  • 英文星期: monday
  • 英文星期(缩写为三个字母): mon
  • 这些文本对应物可以在允许其数值对应物的所有位置使用,例如 jan-jun/2
  • 完整示例: 0-5,10-59/5 * 2-10,15-25 january-june/2 mon-fri(分钟 0-5 之间的每分钟 + 10-59 之间每 5 分钟;每小时;天 2-10 和天 15-25 之间的每天;一月到六月之间每两个月;周一到周五)