把指定时间段切份 - N份

/**
 * 把指定时间段切份 - N份
 * -----------------------------------
 * @param string $start 开始时间
 * @param string $end 结束时间
 * @param int $menus 分钟数

 * @param boolean 是否格式化

 * @return array 时间段数组

 */
function timeToPart($start,$end,$menus = 15, $format=true)
{
    $start = strtotime($start);
    $end   = strtotime($end);

    $nums = $menus * 60;

    $parts = ($end - $start)/$nums;
    $last  = ($end - $start)%$nums;

    if ( $last > 0) {
        $parts = ($end - $start - $last)/$nums;
    }

    for ($i=1; $i <= $parts+1; $i++) {
        $_end  = $start + $nums * $i;
        $arr[] = array($start + $nums * ($i-1), $_end);
    }

    $len = count($arr)-1;
    $arr[$len][1] = $arr[$len][1] + $last;
    if ($format) {
        foreach ($arr as $key => $value) {
            $arr[$key]['time'] = date("H:i", $value[0]);
//                $arr[$key][0] = date("H:i", $value[0]);
//                $arr[$key][1] = date("H:i", $value[1]);
            unset($arr[$key][0]);
            unset($arr[$key][1]);
        }
    }
    return $arr;


}

你可能感兴趣的:(PHP代码)