Php:将可变金额天添加到Y-m-d日期格式

时间:2014-03-17 02:04:36

标签: php date strtotime addition

我正在尝试使用'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',这没有意义,因为我只试图将日期添加到变量中。它们基本上是相同的代码。我很感激帮助我们理解这一点。谢谢!

3 个答案:

答案 0 :(得分:5)

然而,代码是正确的并且有效,以防万一

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

答案 1 :(得分:0)

使用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>';

答案 2 :(得分:-1)

我已经检查了它,但它在我的电脑上不起作用(可能是由于PHP版本)。不过我找到了另一种解决方案:

$timeBase = time();

$sDays2change = '+182'; // 6 months

$newtime = strtotime($sDays2change . ' day', $timeBase);

echo date('d/m/Y', $newtime);