2012-07-07 77 views
0

我想在兩次之間生成3個時間段列表列。在php中計算2次之間的時間段列表?

if 
$start_time = '08:00 AM'; 
$end_time = '10:00: PM'; 

Time Period List As: 

Morning ----- Noon ----- Eve 
8:00 AM  1:00 PM 6:00 PM 
8:30 AM  1:30 PM 6:30 PM 
9:00 AM  2:.0 PM 7:00 PM 
to   to   to 
...   ...  ... 
12:00 PM  5:00 PM 10:00 PM 

我算$ START_TIME和$之間的時間END_TIME爲:

$time = time(); 
$rounded_time = $time % 900 > 450 ? $time += (900 - $time % 900): $time -= $time % 900; 
$start = strtotime('08:00 AM'); 
$end = strtotime('10:00 PM'); 
for($i = $start; $i <= $end; $i += 1800) 
{ 
    echo "<input name='start_time' type='radio' value='".date('g:i A', $i)."' />"." ".date('g:i A', $i)."<br>"; 
} 

剩下的工作,以這些時間在三個列提及上述

感謝事先劃分給我的所有隊友。

+1

你嘗試過什麼? http://mattgemmell.com/2008/12/08/what-have-you-tried/ – Venu 2012-07-07 06:54:19

+0

我已經添加了。 – Frank 2012-07-07 07:02:24

回答

0

您可以使用strtotime方法添加和減去給定時間的時間段。例如:

$time = strtotime('10:00'); 
$halfAnHourBefore = date("H:i", strtotime('-30 minutes', $time)); 
$halfAnHourAfter = date("H:i", strtotime('+30 minutes', $time)); 

會給$ halfAnHourBefore爲09:30和$ halfAnHourAfter爲10:30