原谅我如果我在错误的论坛上发帖或者此问题已经得到了回答。我做了我的研究,但找不到答案。我需要创建一个时间选择菜单,用户可以使用PHP / HTML以30分钟的增量选择时间(见图1):
我使用下面的代码创建了时间选择菜单,但我不知道如何每次添加30分钟的增量(参见图2)。有人可以帮帮我吗?
<tr><td>Time</td>
<td><select name="times" multiple>
<?php for($i = 7; $i < 20; $i++): ?>
<option value="<?= $i; ?>"><?= $i % 12 ? $i % 12 : 12 ?>:00 <?= $i >= 12 ? 'pm' : 'am' ?></option>
<?php endfor ?>
</select></td>
</tr>
答案 0 :(得分:1)
这就是诀窍:
<tr><td>Time</td>
<td><select name="times" multiple>
<?php
$start = strtotime('07:00');
$end = strtotime('20:00');
for ($i=$start; $i<=$end; $i = $i + 30*60){
echo '<option>'.date('g:i A',$i).'</option>';
}
?>
</select></td>
</tr>
答案 1 :(得分:1)
这应该是更好的方法,因为你已经完成了主要部分并且只想添加30分钟的间隔,所以通过使用你的代码,我只是按照以下方式扩展它:
<tr><td>Time</td>
<td><select name="times" multiple>
<?php for($i = 7; $i < 20; $i++): ?>
<?php if ($i % 12): ?>
<option value="<?= $i; ?>"><?= $i % 12 ?>:00 <?= $i >= 12 ? 'pm' : 'am' ?></option>
<option value="<?= $i; ?>:30"><?= $i % 12 ?>:30 <?= $i >= 12 ? 'pm' : 'am' ?></option>
<?php else: ?>
<option value="<?= $i; ?>"><?= 12 ?>:00 <?= $i >= 12 ? 'pm' : 'am' ?></option>
<option value="<?= $i; ?>:30"><?= 12 ?>:30 <?= $i >= 12 ? 'pm' : 'am' ?></option>
<?php endif; ?>
<?php endfor ?>
</select></td>
</tr>