选定日期加1周后;结果变成奇怪的问题

时间:2013-11-27 08:20:43

标签: php

输入表单: html5 date

  <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

我做错了什么?

4 个答案:

答案 0 :(得分:1)

你只需要使用:

strtotime("$lol + 1 week"); // double quotes

或者:

strtotime($lol.' + 1 week'); // escaped var

PHP doesn't interpret dollar $ symbol betwen single quotes.

答案 1 :(得分:0)

strtotime可以工作,但在你的情况下,问题是你传递给它的字符串是单引号(变量只用双引号字符串替换它们的值),因此它实际上包含{{1而不是说$lol + 1 week

您应该执行以下操作之一:

2013-11-01 + 1 week

答案 2 :(得分:0)

您可以尝试这样:

$date = new DateTime($lol);
$date->add(new DateInterval('P7D'));
echo $date->format('Y-m-d');

了解更多信息:http://us3.php.net/manual/en/datetime.add.php

答案 3 :(得分:0)

function newDate($date)
    {
        $inputDate  =   $date;
        $afterWeek      =   date('m/d/Y', strtotime('+1 week', strtotime($inputDate)));
        return $afterWeek;
    }