搜索

首页  >  问答  >  正文

在PHP中如何增加$Date的天数

<p>我有一个作为MySQL查询的一部分返回的日期,格式为<code>2010-09-17</code>。</p> <p>我想要将变量$Date2至$Date5设置如下:</p> <p><code>$Date2 = $Date + 1</code></p> <p><code>$Date3 = $Date + 2</code></p> <p>等等,这样返回<code>2010-09-18</code>,<code>2010-09-19</code>,等等。</p> <p>我尝试过</p> <pre class="brush:php;toolbar:false;">date('Y-m-d', strtotime($Date. ' + 1 day'))</pre> <p>但这给我返回的是<em>在</em><code>$Date</code>之前的日期。</p> <p>有什么正确的方法可以以'Y-m-d'格式获取我的日期,以便它们可以在另一个查询中使用?</p>
P粉741678385P粉741678385452 天前537

全部回复(2)我来回复

  • P粉393030917

    P粉3930309172023-08-21 13:28:25

    如果您使用的是PHP 5.3,您可以使用DateTime对象及其add方法:

    $Date1 = '2010-09-17';
    $date = new DateTime($Date1);
    $date->add(new DateInterval('P1D')); // P1D表示1天的时间段
    $Date2 = $date->format('Y-m-d');

    请参阅DateInterval构造函数手册页面,了解如何构造其他时间段以添加到您的日期(例如2天为'P2D',3天为'P3D'等)。

    如果没有PHP 5.3,您应该可以像之前那样使用strtotime(我已经测试过,在5.1.6和5.2.10中都有效):

    $Date1 = '2010-09-17';
    $Date2 = date('Y-m-d', strtotime($Date1 . " + 1 day"));
    // var_dump($Date2)返回"2010-09-18"

    回复
    0
  • P粉258788831

    P粉2587888312023-08-21 09:02:28

    你只需要像这样使用days而不是day

    <?php
    $Date = "2010-09-17";
    echo date('Y-m-d', strtotime($Date. ' + 1 days'));
    echo date('Y-m-d', strtotime($Date. ' + 2 days'));
    ?>

    它会正确输出:

    2010-09-18
    2010-09-19

    回复
    0
  • 取消回复