定时任务时间表达式解析

public static function cronParse($expression = '* * *')
{
   $exps = explode(' ', $expression);
   $d    = [date('i'), date('H'), date('d'), date('m'), date('w')];
   $exps = array_slice($exps, 0, count($d));
   foreach ($exps as $k => $exp) {
       $exp = explode('/', $exp);
       if (count($exp) > 1 and $d[$k] % $exp[1] != 0) {
           return false;
       }
       if ($exp[0] != '*' and !in_array($d[$k], explode(',', $exp[0]))) {
           return false;
       }
   }
   return true;
}

点赞

发表评论

邮箱地址不会被公开。 必填项已用*标注