Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 添加到给定日期的用户定义月份_Php_Date_Strtotime - Fatal编程技术网

Php 添加到给定日期的用户定义月份

Php 添加到给定日期的用户定义月份,php,date,strtotime,Php,Date,Strtotime,我正在尝试将用户定义的月份数添加到先前添加的日期$CustDate已为上一表单的YYYY-MM-DD格式 $CustDate=$_POST['formYear'] . "-" . $_POST['formMonth'] . "-" . $_POST['formDay']; $months=$_POST['formMonthsAdded']; $d=strtotime("+" . $months . " Months"); $CustAddedDate=date("Y-m-d", strtot

我正在尝试将用户定义的月份数添加到先前添加的日期$CustDate已为上一表单的YYYY-MM-DD格式

$CustDate=$_POST['formYear'] . "-" . $_POST['formMonth'] . "-" . $_POST['formDay'];

$months=$_POST['formMonthsAdded'];
$d=strtotime("+" . $months . " Months");

$CustAddedDate=date("Y-m-d", strtotime($CustDate, $d));
如果我将日期输入为:2016-08-04作为$CustDate,它将为$CustAddedDate提供相同的值


我在哪里搞砸了?谢谢

您将
+月份
$CustDate
一起添加。提供
$Cusdate
作为加法中的第二个参数

$CustAddedDate = date('Y-m-d', strtotime("+" . $months . " Months", strtotime($CustDate)));
                                                                  // ^ add this with the addition
DateTime
变量:

$date = new DateTime($CustDate);
$date->modify('+ ' . $months . ' Month');
$CustAddedDate = $date->format('Y-m-d');
echo $CustAddedDate;

+月份
$CustDate
一起添加。提供
$Cusdate
作为加法中的第二个参数

$CustAddedDate = date('Y-m-d', strtotime("+" . $months . " Months", strtotime($CustDate)));
                                                                  // ^ add this with the addition
DateTime
变量:

$date = new DateTime($CustDate);
$date->modify('+ ' . $months . ' Month');
$CustAddedDate = $date->format('Y-m-d');
echo $CustAddedDate;
注:

strotime()
的第二个参数为任何“相对”时间值设置时间基础,如
+1天
昨天
。由于您传递的是一个绝对日期,
2016-08-04
,因此没有任何“相对”度量作为基础,您的绝对日期将全部用于转换

如果你想调整绝对日期,你必须做如下的事情

echo date('Y-m-d', strtotime('2016-08-04 + 1 day')) -> 2016-08-05
e、 g.将日期数学嵌入要传递到的字符串中,而不是第二个参数中。

注意:

strotime()
的第二个参数为任何“相对”时间值设置时间基础,如
+1天
昨天
。由于您传递的是一个绝对日期,
2016-08-04
,因此没有任何“相对”度量作为基础,您的绝对日期将全部用于转换

如果你想调整绝对日期,你必须做如下的事情

echo date('Y-m-d', strtotime('2016-08-04 + 1 day')) -> 2016-08-05

e、 g.将日期数学嵌入要传递到
strotime
的字符串中,而不是第二个参数中。

$d
中没有用于任何内容,因为
$CustDate
不包含任何“相对”值。都是绝对的年/月/日。strotime()的第二个参数为
strotime(“+1天”、$some\u point\u in\u time)
中的
$d
设置基本时间,因为您的
$CustDate
不包含任何“相对”值。都是绝对的年/月/日。strotime()的第二个参数为
strotime(“+1天”、$some\u point\u in\u time)