繁体   English   中英

我如何使用PHP从现在开始回响这么多的日期?

[英]How can I echo a date so many days from now using PHP?

我正在制作一个脚本,它将允许管理员禁止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('Ymd H:i:s'); ?> <?php echo date('Ymd H:i:s'); ?>获取当前日期,但是如上图所示,在升降机日期在禁令长度旁边的情况下,如何实现类似的效果?

您可以使用strtotime的自动+ n days功能,使用此日期字符串mdY 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>

这是您的处理方式:

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

使用类似的代码:

 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM