php解析crontab时间格式

本文介绍了如何使用PHP解析crontab的时间格式,强调了不支持以英文名称设定的时间计划,并探讨了将crontab配置应用于管理多个PHP任务的场景。
摘要由CSDN通过智能技术生成

crontab 时间格式:

配置 说明
“* * * * * *” 分 时 日 月 周
“0 3 * * * *” 数字精确配置, 星号为任意.(每天凌晨3点整)
“15,30 3 * * *” 逗号表示枚举 (每天3点15分和3点30分)
“15-30 3 * * *” 短线表示范围 (每天的3点15分到30分)
“*/10 3 * * *” 斜杠表示间隔 (每天3点0分到30分之间, 每10分钟一次)
“0-10,50-59/2 3 * * *” 优先级:枚举>范围>间隔 (每天3点0分到10分以及50到59分期间, 每2分钟一次)

注意:不支持解析以英文名称配置的时间计划(如:”0 4 1 jan “)

应用场景: crontab配置一个php, 然后由php管理多个php的crontab任务

<?php
/**
 * crontab 时间格式php解析类(PHP 5 >= 5.1.0)
 *
 * @author 肖武 <tsxw24@gmail.com>
 * @link https://code.google.com/p/xwcrontab/
 */

class XwCrontab {
    

    /**
     * 检查某时间($time)是否符合某个corntab时间计划($str_cron)
     *
     * @param int    $time     时间戳
     * @param string $str_cron corntab的时间计划,如,"30 2 * * 1-5"
     *
     * @return bool/string 出错返回string(错误信息)
     */
    static public function check($time, $str_cron) {
    
        $format_time = self::format_timestamp($time);
        $format_cron = self::format_crontab($str_cron);
        if (!is_array($format_cron)) {
            return $format_cron;
        }
        return self::format_check($format_time, $format_cron);
    }

    /**
     * 使用格式化的数据检查某时间($format_time)是否符合某个corntab时间计划($format_cron)
     *
     * @param array $format_time self::format_timestamp()格式化时间戳得到
     * @param array $format_cron self::format_crontab()格式化的时间计划
     *
     * @return bool
     *
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值