heartsentwined / cron-expr-parser
解析 cron 表达式并与时间进行匹配。
v2.0.5
2016-07-06 12:20 UTC
Requires
- php: >=5.3.3
- yalesov/arg-validator: 2.*
Requires (Dev)
README
解析 cron 表达式并与时间进行匹配。
安装
{ "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 之间的每天;一月到六月之间每两个月;周一到周五)