为什么PHP认为我的日期是字符串


Why does PHP believe my date is a string?

我的代码给了我一个错误"致命错误:调用一个成员函数sub()对字符串"正如你可以看到$date变量是一个基于回显的字符串,但它仍然认为它是一个字符串。

我的代码:

echo $stringDate;
    //PRINTS "2014-03-27"
$date = date('yyyy-mm-dd', strtotime( $stringDate );
echo $date;
    //PRINTS "14141414-0303-2727"
$date->sub(new date_interval_create_from_date_string('70 days') );
    //Produces "Fatal error: Call to a member function sub() on string"
$milestones["Method Development Checklist"]['date'] = $date;

代替

date('yyyy-mm-dd', strtotime( $stringDate ));
使用

date_create_from_format("Y-m-d", $stringDate);

的别名
DateTime::createFromFormat("Y-m-d", $stringDate);

祝你有个愉快的一天o/