首页 > 解决方案 > 如何在选择框PHP中循环时间

问题描述

我有一个选择下拉列表,我想以 HH:MM 格式列出时间,间隔为 1 分钟。所以列表将从 00:00 开始,到 23:59 结束

我了解如何在将输出 0-10 的选择下拉列表中创建一个循环

<select><?php for($i=0; $i<10; $i++){echo "<option>" . $i . "</option>";} ?> </select>

我了解如何将时间输出为 HH:MM

<option><?php echo date('h:i', $supportrequest->startTime); ?</option>

但是我不知道如何将两者结合起来,因为我不确定 for 循环的参数应该是什么

标签: phphtmlselecttimedropdown

解决方案


使用 DatePeriod 它会是这样的:

<?php
$begin = (new DateTime())->setTime(0,0,0);  // create start point
$end = (new DateTime())->setTime(23,59,59); // create end point
$interval = new DateInterval('PT1M'); // set the interval to 1 minute
$daterange = new DatePeriod($begin, $interval ,$end);  // create the DatePeriod

echo "<select>";
foreach($daterange as $date){ // loop through that period
    echo "<option value='".$date->format("H:i") . "'>".$date->format("H:i")."</option>\n";
}
echo "</select>";

如果您只想每 30 分钟一次,或者需要不同的输出格式,使用这些类现在可以很容易地修改。


推荐阅读