我在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));
答案 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天后返回。