输入表单:html5日期
<strong> Start Date: </strong>
<input type="date" name="rentstart" id="rentstart" value="" required/>
发布到RENTAL。PHP
$lol = $_POST['rentstart'];
$pDate = strtotime('$lol + 1 week');
$rentdue= date('Y-m-d',$pDate);
insert PDO ETC BLAH BLAH
数据库中开始日期的结果:
2013-11-01
数据库中到期租金的结果:
1970-01-01
我做错了什么?
您只需要使用:
strtotime("$lol + 1 week"); // double quotes
或者:
strtotime($lol.' + 1 week'); // escaped var
PHP不会在单引号之间解释美元$
符号。
strtotime
可以工作,但在您的情况下,问题是您传递给它的字符串是单引号的(变量仅在双引号字符串中被替换为其值),因此它实际上包含$lol + 1 week
,而不是2013-11-01 + 1 week
。
您应该执行以下操作之一:
$pDate = "$lol + 1 week";
$pDate = $lol.' + 1 week';
您可以这样尝试:
$date = new DateTime($lol);
$date->add(new DateInterval('P7D'));
echo $date->format('Y-m-d');
了解更多信息:http://us3.php.net/manual/en/datetime.add.php
function newDate($date)
{
$inputDate = $date;
$afterWeek = date('m/d/Y', strtotime('+1 week', strtotime($inputDate)));
return $afterWeek;
}