我正在创建一个允许管理员禁止IP的脚本。我目前正在实施禁令长度系统,但我试图回应每个选择选项旁边的提升日期。
以下是我的下拉列表选择HTML:
<strong>Select Ban Length</strong>
<div class="select-style">
<select>
<optgroup label="Temporary Ban Options">
<option value="1">1 Day</option>
<option value="3">3 Days</option>
<option value="7">7 Days</option>
<option value="14">14 Days</option>
</optgroup>
<optgroup label="Permanent Ban Options">
<option value="PERMANENT">Permanent - Never Lift Ban</option>
</optgroup>
</select>
</div>
我要问的是如何回应每个项目旁边的提升日期?例如:
我已经开始使用<?php echo date('Y-m-d H:i:s'); ?>
来获取当前日期,但如上图所示,如何在电梯日期与禁令长度相近的情况下实现相似的功能呢?
答案 0 :(得分:3)
您可以使用strtotime的自动+ n days
功能,使用此日期字符串m-d-Y H:i A
来提供您在示例图片中所要求的内容。
<strong>Select Ban Length</strong>
<div class="select-style">
<select>
<optgroup label="Temporary Ban Options">
<?php
foreach (array(1, 3, 7, 14) as $d){
// setting $date and $text separately just for readability here
$text = $d . ' Day' . ($d===1? '': 's');
$date = date('m-d-Y H:i A', strtotime('+ ' . $d .' days'));
echo '<option value="'.$d.'">' . $text . ' (' . $date . ')</option>';
}
?>
</optgroup>
<optgroup label="Permanent Ban Options">
<option value="PERMANENT">Permanent - Never Lift Ban</option>
</optgroup>
</select>
</div>
答案 1 :(得分:1)
以下是您的工作方式:
<select>
<optgroup label="Temporary Ban Options">
<option value="1">1 Day (<?= date('Y-m-d H:i:s', strtotime("+1 day")) ?>)</option>
<option value="3">3 Days (<?= date('Y-m-d H:i:s', strtotime("+3 days")) ?>)</option>
<option value="7">7 Days (<?= date('Y-m-d H:i:s', strtotime("+7 days")) ?>)</option>
<option value="14">14 Days (<?= date('Y-m-d H:i:s', strtotime("+14 days")) ?>)</option>
</optgroup>
<optgroup label="Permanent Ban Options">
<option value="PERMANENT">Permanent - Never Lift Ban</option>
</optgroup>
</select>
答案 2 :(得分:1)
使用类似的代码:
echo date('Y-m-d H:i:s', strtotime("+1 day"))
在你的情况下:
<option value="1">1 Day (<?= date('Y-m-d H:i:s', strtotime("+1 day")) ?>)</option>
<option value="3">3 Days (<?= date('Y-m-d H:i:s', strtotime("+3 days")) ?>)</option>
<option value="7">7 Days (<?= date('Y-m-d H:i:s', strtotime("+7 days")) ?>)</option>
<option value="14">14 Days (<?= date('Y-m-d H:i:s', strtotime("+14 days")) ?>)</option>
详细了解strtotime功能:http://www.w3schools.com/php/func_date_strtotime.asp