Php 从日期中减去天数

Php 从日期中减去天数,php,Php,我如何从约会中减去天数?例如,第二行是不起作用的行,只是想知道我如何从约会中抽出几天 $statement_date = date('Y-m-d', strtotime($date[$selected_int])); $statement_view = $statement_date (-14 days); 您不能使用date减去或添加天(小时、分钟等),因为根据date: 返回根据给定格式格式化的字符串 而且,好吧,你不能做你想做的事 要实现您想要的面向对象样式,您必须首先创建一个对象

我如何从约会中减去天数?例如,第二行是不起作用的行,只是想知道我如何从约会中抽出几天

 $statement_date = date('Y-m-d', strtotime($date[$selected_int])); 
 $statement_view = $statement_date (-14 days);

您不能使用
date
减去或添加天(小时、分钟等),因为根据
date

返回根据给定格式格式化的字符串

而且,好吧,你不能做你想做的事

要实现您想要的面向对象样式,您必须首先创建一个对象:

$date = new DateTime(); // this will return today OR
$date = new DateTime('2010-05-20'); // this will return the needed date
接下来,您可以使用
sub
add
到日期间隔:

$date->sub(new DateInterval('P10D'));
echo $date->format('Y-m-d');
这将输出
2016-02-04

更新

您请求了代码示例:

$date = new DateTime('01/28/2016');
$date->sub(new DateInterval('P14D'));
echo $date->format('m/d/Y');
这将输出

01/14/2016

当然,别忘了用
01/28/2016
替换
$statement\u date

另一种加减方法。以下将减去14天(3600*24*14):



注意时区。

你是说$statement\u date(-14天);(注意缺少的“t”)?@TomChadaravicius感谢您注意到输入错误xD仍然不起作用,尽管啊哈,但我没想到它会感谢您,我现在正在看代码谢谢你的回答我可以看到这是如何执行的,但是有没有一种方法可以将它应用到示例中,我一定会将其标记为答案,我只是不知道如何在示例中使用它<代码>$statement_date像这样回显日期
01/28/2016
m,d,yy您请求的代码将显示为
$date=new DateTime($date[$selected_int]),或传递给DateTime构造函数的其他变量;否则日期永远不会改变
$unixRefDate=strtotime($date[$selected_int]);
$unixDate=($unixRefDate-(3600*24*14));
$statement_view=date('Y-m-d', $unixDate);