我想创建一个下拉菜单,它将当前时间作为开始时间,并将结束至24小时,如同到24小时之间,因此它将显示每15分钟增量的时间。问题是,当我尝试运行循环时,启动时间没问题,但是下一循环的时间会跳到6小时。
这是我的代码:
$current_time = date('h:i A');
$end_hour = date("+24 hours", $current_time);
echo "<option>" . $current_time . "</option>";
for($i = 0; $i <= 96; $i++) {
echo "<option>" . date("h:i A", $tNow) . "</option>";
$tNow = strtotime('+15 minutes',$current_time);
}
输出为 晚上11:08 4:00 PM 下午4:15 下午4:30
等等。
答案 0 :(得分:4)
您可以使用DateTime:
$now = new DateTime();
$end = clone $now;
$end->modify("+24 hours");
while ($now <= $end) {
echo "<option>" . $now->format('h:i A'). "</option>";
$now->modify('+15 minutes');
}
答案 1 :(得分:0)
有几件事。首先在第一行中缺少第二个参数。然后你使用$ tNow undefined。
$current_time = date('h:i A', time());
$end_hour = date("+24 hours", strtotime($current_time));
$tNow = strtotime($current_time);
echo "<option>" . $current_time . "</option>";
for($i = 0; $i <= 96; $i++) {
echo "<option>" . date("h:i A", $tNow) . "</option>";
$tNow = strtotime('+15 minutes', $tNow);
}