选定日期加上一周后;结果变成了一个奇怪的问题


selected date plus 1 week after; result turn out weird issue

输入表单: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;
    }