【发布时间】:2016-07-04 09:42:36
【问题描述】:
我正在尝试使用 DateTime 类来查看某个时间是否已经过去。但是,当使用 DateTime 类时,它会失败...
这是我从数据库中获取的字符串:
$timeToCheck = $users[$i]["lastLoggedIn"] . " " . $users[$i]["lastTimeOn"];
一个例子是:2016-03-09 01:32:44
然后我使用以下内容:
$dbTimeStamp = date_create_from_format('Y-m-d H:i:s', $timeToCheck);
$timeStamp = new DateTime($dbTimeStamp->format('Y-m-d H:i:s'));
$timeLimit = $timeStamp->add(new DateInterval("PT24H"));
$timeNow = new DateTime();
我收到以下错误:调用 $timeStamp = new DateTime($dbTimeStamp->format('Y-m-d H:i:s')); 上布尔值的成员函数 format()
数据库中的日期格式与我尝试创建的格式相同,例如 2016-03-09 01:32:44
我看不出我做错了什么?
【问题讨论】:
-
那么,
$timeToCheck的值是多少? -
例如 2016-03-09 01:32:44。我确实放了一个,但在我显示
$timeToCheck的代码之后可能应该放它... -
如果这就是价值,那你为什么要使用
strtotime()? -
测试它是否有任何不同,忘记取出它,因为它没有。我也试过
$dbTimeStamp = DateTime::createFromFormat('Y-m-d H:i:s', $timeToCheck);,但没用。
标签: php