1

我开发了一个函数来在用户生成的时间范围内获得相等的时间间隔。

$start         = strtotime("12:00");    //start at...
$end           = strtotime("18:00");    //end at...
$timeframe     = $end - $start;         //time-frame    
$intervals     = 3;                     //number of intervals within time-frame
$interval_time = $timeframe/$intervals; //time of each interval

for($i = 0, $start; 
    $i < $intervals; 
    $i++, $start = strtotime("+$interval_time seconds", $start)) //increment time
    { 
        $new_time = date('H:i:s a', $start); 
        echo "$new_time \n"; 
    }

上面的代码输出

 12:00:00 pm 14:00:00 pm 16:00:00 pm

我可以合并什么代码来划分每个间隔并获得中间?例如从上面的代码中获取

13:00:00 pm 15:00:00 pm 17:00:00 pm

请多多指教:)

4

1 回答 1

1

for循环替换为:

$half_interval = $interval_time / 2;
$mid = $start + $half_interval;
for ( $i = 1; $i < $intervals; $i ++) {
    echo date('H:i:s a', $mid) . " \n";
    $mid += $interval_time;
}
echo date('H:i:s a', $mid) . " \n";

诚然,一种简单的方法。我确信改进是可能的,但把它们留给读者练习吧!;-)

于 2012-05-24T20:59:48.340 回答