指定时段重复期数计算

    xiaoxiao2021-03-26  5

    目的

    已知一个彩票知道第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',$计算时间); }
    转载请注明原文地址: https://ju.6miu.com/read-500107.html

    最新回复(0)