从现在开始使用PHP,我怎样才能回复日期?

时间:2014-06-16 19:31:26

标签: php html

我正在创建一个允许管理员禁止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>

我要问的是如何回应每个项目旁边的提升日期?例如:

enter image description here

我已经开始使用<?php echo date('Y-m-d H:i:s'); ?>来获取当前日期,但如上图所示,如何在电梯日期与禁令长度相近的情况下实现相似的功能呢?

3 个答案:

答案 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