StartTime  EndTime
11.01      11.11
11.02      11.08
11.03      11.15
11.06      11.09
11.13      11.18
11.20      11.25
总时间段为
StartTime  EndTime
11.01      11.02
11.02      11.11
11.11      11.13
11.13      11.15 
11.15      11.18
11.18      11.20
11.20      11.25   

解决方案 »

  1.   

    1、你打算在哪里计算,php?mysql?
    2、结果中的 11.18 11.20 是哪里来的?原始数据中并未包括
      

  2.   


    php,例如开始时间已经存在start数组中 对应结束时间存在end数组,要获得总的时间段分成的各个段的时间
      

  3.   

    StartTime EndTime
    11.01 11.11
    11.02 11.08
    ======================
    如果只有这两条数据,得到
    11.01 ~ 11.02
    11.02 ~ 11.11
    两条,这个还算明白
    StartTime EndTime
    11.01 11.11
    11.02 11.08
    11.03 11.15
    ======================
    如果有3条数据,为什么不是
    11.01 ~ 11.02 
    11.02 ~ 11.03
    11.03 ~ 11.11
    11.11 ~ 11.15
    4条?
      

  4.   

    曾经做过类似的,是这样计算的。原是代码不是下面的,下面的是经过改动的<?function calculate_days($from,$to)
    { for($days=strtotime($from);$days<=strtotime($to);$days+=3600*24)
    {
    $day[]=date("Y-m-d",$days);
    }
    return $day;
    }$from1="2011-10-9";
    $to1="2011-11-4";$from2="2011-10-23";
    $to2="2012-3-22";
    print_r(array_intersect(calculate_days($from1,$to1),calculate_days($from2,$to2)));/*
    Array
    (
        [14] => 2011-10-23
        [15] => 2011-10-24
        [16] => 2011-10-25
        [17] => 2011-10-26
        [18] => 2011-10-27
        [19] => 2011-10-28
        [20] => 2011-10-29
        [21] => 2011-10-30
        [22] => 2011-10-31
        [23] => 2011-11-01
        [24] => 2011-11-02
        [25] => 2011-11-03
        [26] => 2011-11-04
    )
    */
    ?>
      

  5.   

    嗯,thank you very much! 总算解决了