php - 如何在选择框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 循环的参数应该是什么
解决方案
使用 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 分钟一次,或者需要不同的输出格式,使用这些类现在可以很容易地修改。
推荐阅读
- html - 在css中更改输入类型范围栏的颜色
- java - Couchbase 错误地存储列表值
- javascript - 不正确的推送(也许)。发布请求不起作用。邮递员没有看到我的原始数据
- spring-boot - 微服务架构中如何管理外键关系?
- python - 从 python 执行存储过程时出现“'where 子句'中的未知列”
- azure - 如何从 Azure PowerShell 为用户请求 Azure Graph API 访问令牌?
- javascript - 在 CSS 中使用 [attribute*=value] 选择器会影响网站的性能和优化吗?
- css - iPhone 浏览器样式与 Chrome 模拟不匹配
- python - 烧瓶变量没有转移到下一页
- android - 使用retrofit2 android实现请求