php定时任务判断是否到指定日期【定时任务】

应用场景:

在这里插入图片描述

在做定时任务或者是其他功能需要用到的代码:

     
/**
 * 判断是否到指定日期
 * $time_rule 指定时间规则
 * $type 0:按天 1:按周 2:按月
 */
function is_time($time_rule='',$type=0) {
    $ret = false;
    date_default_timezone_set('PRC');//定义时间戳为中国时间
    
    //测试数据
    $time_rule['d'] = '01';//指定每月几号 1号
    $time_rule['w'] = '1';//指定每周几 周一  注意0是星期日  
    $time_rule['H'] = '15';//指定小时 15点
    $time_rule['i'] = '35';//指定分钟 35分

    //匹配该任务的周期
    switch ($type){
        case '0' ://按天
            $H = intval(date("H"));//获得当前小时时间
            $I = intval(date("i"));//获得当前分钟时间
            if ($I >= intval($time_rule['i']) && $H >= intval($time_rule['H'])) {
                //当前时间等于指定时间规则或超过时间规则
                $ret = true;
                echo '时间到';die;
            }
            break;
        case '1' ://按周
            $w = intval(date("w"));//获得当前星期几
            $H = intval(date("H"));//获得当前小时时间
            $I = intval(date("i"));//获得当前分钟时间
            if ($w == intval($time_rule['w']) && $I >= intval($time_rule['i']) && $H >= intval($time_rule['H'])) {
                //当前时间等于指定时间规则或超过时间规则
                $ret = true;
                echo '时间到';die;
            }
            break;
        case '2' ://按月
            $d = intval(date("d"));//获得当前几号
            $H = intval(date("H"));//获得当前小时时间
            $I = intval(date("i"));//获得当前分钟时间
            if ($d == intval($time_rule['d']) && $I >= intval($time_rule['i']) && $H >= intval($time_rule['H'])) {
                //当前时间等于指定时间规则或超过时间规则
                $ret = true;
                echo '时间到';die;
            }
            break;    
    	default: //匹配不到的时候  
    		break;
    }   
    return $ret;
}

小结
认真看完代码中的注释,真的很帮助我们的开发哦.
感谢您的阅读~~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值