指定时段重复期数计算

来源:互联网 发布:聊聊语音视频软件 编辑:程序博客网 时间:2024/05/09 08:58

目的

已知一个彩票知道第210786期开奖时间为20:03:30,
并且彩票在20:03:30~21:04:30不开奖,其余时间每隔210s开一次奖.
求任意期数的开奖时间.

代码

public function t()    {        $基准时间 = strtotime('2017-02-20 20:03:30');        $基准期数 = 210786;        $计算时间 = strtotime('2017-02-20 20:03:30');        $计算期数 = 210787;        $期数间隔=210;        function 期数有效($time){            $无效开始时间=mktime(20,03,30,date('d',$time),date('m',$time),date('Y',$time));            $无效结束时间=mktime(21,04,30,date('d',$time),date('m',$time),date('Y',$time));            return !(($无效开始时间<$time) && ($time< $无效结束时间));        }        while ($基准期数 <> $计算期数) {            if ($基准期数 < $计算期数) {                $计算时间+=$期数间隔;                if(期数有效($计算时间))                    $计算期数--;            } elseif ($基准期数 > $计算期数) {                $计算时间-=$期数间隔;                if(期数有效($计算时间))                    $计算期数++;            }        }        RETURN date('Y-m-d H:i:s',$计算时间);    }
0 0
原创粉丝点击