Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 显示半小时范围内的小时数_Php_Date_For Loop_Time - Fatal编程技术网

Php 显示半小时范围内的小时数

Php 显示半小时范围内的小时数,php,date,for-loop,time,Php,Date,For Loop,Time,我正在编写一个约会脚本,该脚本从数据库中获取办公室的开始和结束时间,然后显示要预订会议的开始和结束时间之间的时间,每次会议只能预订半个小时,因此我需要使用单选按钮显示这样的计时 9:00am - 9:30am 9:30am - 10:00am 10:00am - 10:30am ... ... ... 9:00am - 9:30am 9:30am - 10:00am 10:00am - 10:30am ... ... ... 我能够计算办公室开放的总小时数,并使用for循环显示计时

我正在编写一个约会脚本,该脚本从数据库中获取办公室的开始和结束时间,然后显示要预订会议的开始和结束时间之间的时间,每次会议只能预订半个小时,因此我需要使用单选按钮显示这样的计时

9:00am  - 9:30am
9:30am  - 10:00am
10:00am - 10:30am
...
...
...
9:00am  - 9:30am
9:30am  - 10:00am
10:00am - 10:30am
...
...
...
我能够计算办公室开放的总小时数,并使用for循环显示计时

$office_start_time = '09:00:00';
$office_end_time = '16:00:00';

$start = explode(':', $office_start_time);
$end = explode(':', $office_end_time);
$total_hours = $end[0] - $start[0] - ($end[1] < $start[1]);
echo 'total hours: '.$total_hours;
echo '<br>';
//exit;
?>
<table class="table table-hover table-bordered">
    <tbody>
    <?php for ($i = 0; $i < $total_hours; $i++) {
        echo "<input name='time' type='radio' value='09:00|09:30'> 9:00am-9:30am<br/>";
        ?>

    <?php } ?>
    </tbody>
</table>
Strotime的魔法可以做到这一点

$start = '09:00:00';
$end = '16:00:00';
$time = strtotime($start);
$timeStop = strtotime($end);

while($time<$timeStop) {
    echo date('H:i', $time);
    $time = strtotime('+30 minutes', $time);
    echo ' - ' . date('H:i', $time) . '<br/>';
}
Strotime的魔法可以做到这一点

$start = '09:00:00';
$end = '16:00:00';
$time = strtotime($start);
$timeStop = strtotime($end);

while($time<$timeStop) {
    echo date('H:i', $time);
    $time = strtotime('+30 minutes', $time);
    echo ' - ' . date('H:i', $time) . '<br/>';
}
怎么样

<?php
    for ($i = 0; $i < $total_hours; $i++)
    {
        $time = $start[0] + $i;
        echo "<input name='time' type='radio' value='0" . $time . ":00|0" . $time . ":30'> " . $time . ":00am-" . $time . ":30am<br/>";
    }
?>
怎么样

<?php
    for ($i = 0; $i < $total_hours; $i++)
    {
        $time = $start[0] + $i;
        echo "<input name='time' type='radio' value='0" . $time . ":00|0" . $time . ":30'> " . $time . ":00am-" . $time . ":30am<br/>";
    }
?>

使用DateTime是一种方法。使用DateTime是一种方法。