【问题标题】:PHP string date + 1 day equals?PHP字符串日期+ 1天等于?
【发布时间】:2026-01-25 10:25:01
【问题描述】:

我有一个保存在常规字符串中的日期。

// format = DD-MM-YYYY    
$date = "10-12-2011";

我怎样才能得到日期字符串 +1 天所以:11-12-2011?

【问题讨论】:

标签: php date


【解决方案1】:

您应该使用DateTime 类来处理日期。从长远来看,使用strtotime() 可能不是最佳选择。

要使用 DateTime 为数据添加 1 天,您可以使用 modify() 方法。

$newDate = date_create_from_format('d-m-Y', $date)
    ->modify('+1 day')
    ->format('d-m-Y');

【讨论】:

    【解决方案2】:

    如果您尝试覆盖 $date,Aaron 的回答效果很好。但是,如果您需要像我一样将新的一天保存到一个单独的变量中,这很有效:

    $date = strtotime('10-12-2011'); // your date
    $newDate = date('d-m-Y', strtotime("+1 day", $date)); // day after original date
    

    【讨论】:

      【解决方案3】:

      如果你想今天+$i day

      $today = date('Y-m-d');
      $tomorrow = strtotime($today." +".$i." day");
      

      【讨论】:

        【解决方案4】:

        您可以使用the date function 手动拼凑日期(显然需要检查闰年、当前月份的天数等)或获取strtotime 并通过解析您从 strtotime 获得的时间戳作为第二个参数。

        【讨论】:

          【解决方案5】:

          Similar post

          $date = date('d-m-Y', strtotime("+1 day", strtotime("10-12-2011")));
          

          【讨论】: