分享一个php时间段切分为指定段的函数

来源:互联网 发布:大屏数据 编辑:程序博客网 时间:2024/06/06 13:19
/**
 * 把指定时间段切份 - N份
 * -----------------------------------
 * @param string $start 开始时间
 * @param string $end 结束时间

 * @param int $nums 切分数目

 * @param boolean 是否格式化

 * @return array 时间段数组

 */
function cut_up_time_part($start, $end="", $nums = 7, $format=true) {
    $start = strtotime($start);
    $end   = strtotime($end);
    $parts = ($end - $start)/$nums;
    $last  = ($end - $start)%$nums;
    if ( $last > 0) {
        $parts = ($end - $start - $last)/$nums;
    }
    for ($i=1; $i <= $nums; $i++) { 
        $_end  = $start + $parts * $i;
        $arr[] = array($start + $parts * ($i-1), $_end);
    }
    $len = count($arr)-1;
    $arr[$len][1] = $arr[$len][1] + $last;
    if ($format) {
        foreach ($arr as $key => $value) {
            $arr[$key][0] = date("Y-m-d H:i:s", $value[0]);
            $arr[$key][1] = date("Y-m-d H:i:s", $value[1]);
        }
    }
    return $arr;
}
1 0