【问题标题】:Php: Add variable amount days to Y-m-d date formatPhp:将可变天数添加到 Y-m-d 日期格式
【发布时间】:2014-03-17 02:04:36
【问题描述】:

我正在尝试使用“Y-m-d”格式为日期添加天数:

$oldDate = '2013-05-15';
$newDate = date('Y-m-d', strtotime($oldDate. " + 5 days"));

这输出“2013-5-20”,但低于:

$oldDate = '2013-05-15';
$addedDays = 5;
$newDate = date('Y-m-d', strtotime($oldDate. " + $addedDays days"));

不起作用,它只输出'1970-01-01',这没有意义,因为我只是试图将要添加的日期放入变量中。它们基本上是相同的代码。我很感激试图理解这一点的帮助。谢谢!

【问题讨论】:

标签: php date strtotime addition


【解决方案1】:

但代码正确且有效,以防万一尝试

$newDate = date('Y-m-d', strtotime($oldDate. " + {$addedDays} days"));

【讨论】:

  • 糟糕,我真的错了。我添加了 '-2' 天,这就是为什么.. 无论如何感谢您验证代码
【解决方案2】:

使用DateTime 类。它会让你免于头疼。

// Create a DateTime object
$date = new DateTime('2013-05-15');

// Original date
echo $date->format('d. F Y'), '<br>';

// Add 5 days
$date->modify('+5 days');

// Modified date
echo $date->format('d. F Y'), '<br>';

【讨论】:

    【解决方案3】:

    我已经检查过了,但它在我的计算机上不起作用(可能是由于 PHP 版本)。不过,我找到了一个替代解决方案:

    $timeBase = time();
    
    $sDays2change = '+182'; // 6 months
    
    $newtime = strtotime($sDays2change . ' day', $timeBase);
    
    echo date('d/m/Y', $newtime);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-25
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      • 2011-02-19
      • 2010-12-23
      相关资源
      最近更新 更多