0

我想在两次之间生成 3 个时间段列表列。

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>";
 }

如上所述,将这些时间分为三列的剩余工作

提前感谢我所有的伙伴。

4

1 回答 1

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

于 2012-07-07T07:03:49.693 回答