【问题标题】:Add days to current date from MySQL with PHP使用 PHP 从 MySQL 将天数添加到当前日期
【发布时间】:2011-09-27 17:17:17
【问题描述】:

我有一个来自 MySql 的固定日期

startDate = 07/03/2011

我想在这个日期的顶部加上 60 天来获得一个 endDate。

$startDate = $result['startDate'];
$endDate = ??? + strtotime("+60 days");
echo $endDate;

根据我的研究,我知道它与 strtotime 有关,但我遇到的所有网站都基于当前工作站时间的开始日期。在运行和获取 endDate 之前,我的日期已经确定并输入。

帮助?提前致谢!

【问题讨论】:

    标签: php mysql date add days


    【解决方案1】:

    你可以重新格式化strtotime()的结果

    $startDate = $result['startDate']; // 07/03/2011
    $endDate = date("m/d/Y", strtotime("$startDate +60 days"));
    

    演示:http://codepad.org/9rWnoeQb

    【讨论】:

      【解决方案2】:

      除了其他人提供的 PHP 解决方案之外,您还可以在 MySQL 内部创建 endDate 并省去一些麻烦:

      SELECT startDate, DATE_ADD(startDate, INTERVAL 60 DAY) AS endDate FROM table;
      
      -- Or by months (not exactly the same thing)
      SELECT startDate, DATE_ADD(startDate, INTERVAL 2 MONTH) AS endDate FROM table;
      

      Relevant documentation here...

      【讨论】:

      • 事实上你不需要 DATE_ADD(),它只是关于 INTERVAL。试试看:SELECT startDate, startDate + INTERVAL 2 MONTH AS endDate FROM table;
      【解决方案3】:

      一天 86400 秒,乘以天数.. 并将其添加到当前时间。

      $nextMonth = time()+86400*60;
      echo date("Y-m-d H:i:s", $nextMonth);  
      

      【讨论】:

        【解决方案4】:
        $startDate = "07/03/2011";
        $endDate = strtotime("+60 days",time($startDate));
        $formatted = date('m/d/Y',$endDate);
        echo $endDate . "<br/>" . $formatted;
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-05-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-04-16
          • 1970-01-01
          • 2013-04-01
          相关资源
          最近更新 更多