为PHP变量添加天数

时间:2016-08-09 14:27:04

标签: php datetime strtotime

我在PHP中有2个变量。一个是今天的日期,并增加1个月。这很好。另一个应该采取该日期,并添加6天。由于某种原因,该部分拒绝工作。我只是简单地格式化了吗?我总是在我的数据库中获得01-06-1970。

以下是获取今天日期并添加1个月(工作正常)的变量

$renewdate = date('Y-m-d', strtotime('+1 month'));

这是为$ renewdate添加6天的变量(不起作用)

$latedate  = date('Y-m-d', strtotime('+6 days',$renewdate));

2 个答案:

答案 0 :(得分:6)

strtotime的第二个参数是Unix时间戳。目前$renewdate是一个字符串。所以:

$latedate  = date('Y-m-d', strtotime('+6 days', strtotime($renewdate)));

答案 1 :(得分:3)

PHP 5.2.0带来了DateTime,为什么还要坚持使用旧功能? OOP方法更好!

$dtCreate = DateTime::createFromFormat('Y-m-d H:i:s', '2016-08-02 16:16:02');
$dtCreate->add(new DateInterval('P6D'));

这会将6 days添加到您的DateTime对象,有关详细信息,请参阅DateInterval

添加间隔后,您可以根据需要format对象:

$dtCreate->format('Y-m-d H:i:s');

这将返回2016-08-08 16:16:02,如您所见,它将在6天后返回。