setTimestamp($time); date_sub($date, date_interval_create_from_date_string($weekIndex . ' days')); return date_format($date, "Y-m-d"); } /** * 获取周 * 以周一为标记 * @param int $time * @return string | false */ public static function getWeekTime($time = 0) { $date = date_create(self::getWeek($time)); return $date->getTimestamp(); } /** * 获取周序号,周一为0 * @param $time * @return int */ public static function getWeekIndex($time) { return intval(date('N', $time)) - 1; } /** * 每日凌晨时间 * @param $time * @return int */ public static function getDayTime($time) { $dayStr = self::dayStr($time); $date = date_create($dayStr); return $date->getTimestamp(); } /** * 产生随机数字 * @param $len * @return string */ public static function getRandomNum($len) { $code = ''; for ($i = 0; $i < $len; $i++) { $code .= rand(0, 9); } return $code; } public static function oddsOne($list, $oddsField) { if (count($list) == 0) return null; $totalOdds = 0; $rlist = []; foreach ($list as $item) { $odds = intval($item[$oddsField]); if ($odds == 0) continue; $item['minOdds'] = $totalOdds; $item['maxOdds'] = $odds + $totalOdds; array_push($rlist, $item); $totalOdds += $odds; } $odds = mt_rand(0, $totalOdds); foreach ($rlist as $item) { if ($item['minOdds'] <= $odds && $odds < $item['maxOdds']) return $item; } return null; } public static function genUUID() { return md5(uniqid('', true)); } public static function converStrList($delimiter, $str, $count) { $list = explode($delimiter, $str); if (count($list) == 0) return null; if ($count != 0 && count($list) != $count) return null; return $list; } }