Php 如何从输入的月份年中获取前三个月?

Php 如何从输入的月份年中获取前三个月?,php,date,datetime,Php,Date,Datetime,我正在尝试从输入的月份年份中获取前三个月,即,如果我将06-2016作为输入,它应将03-2016作为结果。我试过了strotime(“-3个月”)。但它只给我3个月的时间从目前的日期 有人能告诉我怎么解决吗 我试过: $month = 06; $year = 2016; $d = mktime(0, 0, 0, $month, 1, $year); $td = date("Y-m-d", $d); $oldDate = date('Y-m-d', strtotime("-3 Months")

我正在尝试从输入的月份年份中获取前三个月,即,如果我将
06-2016
作为输入,它应将
03-2016
作为结果。我试过了
strotime(“-3个月”)
。但它只给我3个月的时间从目前的日期

有人能告诉我怎么解决吗

我试过:

$month = 06;
$year = 2016;

$d = mktime(0, 0, 0, $month, 1, $year);
$td = date("Y-m-d", $d);
$oldDate = date('Y-m-d', strtotime("-3 Months"));
2016-03-01
March 2016
从当前日期算起,我有3个月的时间。有人猜测我如何获得预期结果吗?

使用基于对象的

$date1 = new DateTime("2016-06-01");
echo $startDate = $date1->modify("-3 month")->format('Y-m-d');
标准时间(输入日期“-3个月”)

$month=06;
$year=2016年;
$d=mktime(0,0,0,$month,1,$year);
$td=日期(“Y-m-d”,$d);
$oldDate=日期('Y-m-d',标准时间($td.-3个月”);
$oldDate_MonthYear=日期('m-Y',标准时间($td.-3个月));
echo$oldDate;
回声“
”; echo$oldDate\u MonthYear;
使用下面的代码。您需要使用
date(“fy”),strotime(输入日期“-3个月”)

输出:

$month = 06;
$year = 2016;

$d = mktime(0, 0, 0, $month, 1, $year);
$td = date("Y-m-d", $d);
$oldDate = date('Y-m-d', strtotime("-3 Months"));
2016-03-01
March 2016

在线演示:

试试这个,你会得到想要的结果

$prev_month_ts = strtotime('2016-06 -3 month');

$prev_month = date('Y-m', $prev_month_ts);

echo $prev_month;

你只漏了一部分。storetotime应该是这样的
strtotime($td.-3个月)
。不过,你应该在下面的正确答案上做标记。