['start'=>0,'end'=>2], 2=>['start'=>2,'end'=>4], 3=>['start'=>4,'end'=>6], 4=>['start'=>6,'end'=>8], 5=>['start'=>8,'end'=>10], 6=>['start'=>10,'end'=>12], 7=>['start'=>12,'end'=>14], 8=>['start'=>14,'end'=>16], 9=>['start'=>16,'end'=>18], 10=>['start'=>18,'end'=>20], 11=>['start'=>20,'end'=>22], 12=>['start'=>22,'end'=>24], ]; /** * @param null $range * @param bool $checkNow */ public static function getRange($checkNow=false,$range=null) { $ranges=self::$range; foreach ($ranges as &$_range){ $_range['start']=sprintf('%2d',$_range['start']); $_range['end']=sprintf('%2d',$_range['end']); } if($checkNow){ $hour=date('H'); foreach ($ranges as $idx=>$r){ if($hour>=$r['start'] && $hour<$r['end']){ $range=$idx; break; } } return $range; } if(!$range){ return $ranges; } return $ranges[$range]; } public static function addRange(User $user){ $range=self::getRange(true); $has=$user->loginRange()->where('range',$range)->find(); if($has){ $has->setInc('times'); }else{ $user->loginRange()->save([ 'range'=>$range, 'times'=>1, ]); } } }